草庐IT

包装设计

全部标签

需要 JavaScript 设计模式帮助 : Loose Augmentation of Modules

为清晰起见进行编辑-@Qantas94Heavy-我明白它在“说”什么或应该做什么,但我不明白的是为什么,更重要的是如何工作:我正在阅读有关JS模块模式的高级教程,它给出了这个示例:varMODULE=(function(my){//addcapabilities...returnmy;}(MODULE||{}));困扰我(我需要你的帮助)的是最后一句话:(MODULE||{}));我无法理解使之成为可能的语法规则。在搜索了关键字“JavaScript模块语法”和“模块模式速记”之后,我发现我仍然不太了解这背后的基础。有人可以解释一下或为我指明正确的方向来理解这个/获得更深入的理解吗?

javascript - jQuery 中匿名函数包装器的用途是什么?

jQuery开始将其所有代码包装在一个匿名函数中:(function(window,undefined){/*...jquerycode...*/})(window);我知道函数会在整个脚本被读取后立即执行,但参数的目的是什么?一个是全局对象引用,另一个是属性引用。现在,我记得在脚本开发的早期,undefined实际上被定义为其他东西(我没记错吧?)。跟这个有关系吗?另外,这个函数看起来像是被用作运算符?就像上面一样,我完全不理解语句的语法。也许有上下文会有所帮助? 最佳答案 包装器做了很多事情:function(window,un

javascript - 设计 AngularJS 服务的更好方法

我正在编写一个可以与REST服务器交互的AngularJS客户端应用程序。为了管理客户端/服务器交互,我使用了$resource抽象。实际上,我将每个资源都写成一个单独的service并仅将其注入(inject)将要使用它的Controller中。我已经开始使用angularjs-seed进行开发,所以在我分离的services.js文件中,我有越来越多的服务:angular.module('testReqService',['ngResource']).factory('TestReq',function($resource){return$resource('http://test

javascript - JQuery JavaScript 设计 : Self Executing Function or Object Literal?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我很好奇在构造封装代码块时是否有任何与JQuery相关的最佳实践。通常,当我构建一个页面时,我喜欢将该页面中使用的函数封装在一个对象中。这允许我在构建应用程序时进行一些封装。没有什么比看到带有一堆这样的JavaScript文件更让我讨厌的了functiondoSomethingOnlyRelevantOnThisPage(){//dosomestuff}这会导致设计困惑,并且没有很好地封装

javascript - jquery 删除新行然后用 block 元素包装文本节点

我有一些这样的段落:"Thisisthefirstpara.r\r\n\nThisisthesecondonewithlotofnewlineafter\n\n\n\n\n\nAndthelastpara.\n\r\r"我想删除新行并用包裹每个段落标签。我期望输出如下:Thisisthefirstpara.ThisisthesecondonewithlotofnewlineafterAndthelastpara. 最佳答案 vard="line1\n\nline2\n\n\n\nline3";$('body').append(''+

javascript - 为什么 CoffeeScript 将类定义包装在闭包中?

在CoffeeScript中,this:classFoomethod:(x)->x+1编译为://GeneratedByCoffeeScriptFoo=(function(){functionFoo(){}Foo.prototype.method=function(x){returnx+1;}returnFoo;})()这似乎有点过分了。以下内容应该功能相同://GeneratedbyDavefunctionFoo(){}Foo.prototype.method=function(x){returnx+1;}额外的“闭包”包装器的动机是什么?这不仅仅是一个无聊的样式问题;它对整体代码大

javascript - 检查 JavaScript 对象是否已更改的设计模式

我从服务器获取一个对象列表[{name:'test01',age:10},{name:'test02',age:20},{name:'test03',age:30}]我将它们加载到html控件中供用户编辑。然后有一个按钮可以将整个列表批量保存回数据库。我不想发送整个列表,而是只想发送已更改的对象子集。它可以是数组中任意数量的项目。我想做一些类似于Angular这样的框架,在没有对它进行任何更改时将对象属性标记为“原始”。然后使用该标志仅向服务器发布不是“原始”的项目,即已修改的项目。 最佳答案 下面是一个函数,当提供旧的对象数组/对

javascript - 将代码包装到闭包中是一个好习惯吗?

我是Angular的新手,我刚刚完成了来自CodeSchool的教程对于Angular的初学者。现在在第二个视频中,类(class)讲师说我们要将整个应用程序代码包装到一个闭包中。视频链接如下。他在00:30的某个地方说了这句话。现在为什么将我们的代码包装到闭包中是一个好习惯?Linktothevideo 最佳答案 闭包主要用于创建私有(private)作用域并避免变量泄漏到全局作用域中。 关于javascript-将代码包装到闭包中是一个好习惯吗?,我们在StackOverflow上找

javascript - 正则表达式用标签包装文本

这个问题在这里已经有了答案:Findastringoftextinanelementandwrapsomespantagsroundit(6个答案)关闭2年前。我需要一个JavaScript正则表达式来用包装“#hashtags”标签例子:之前:“我需要#help,拜托。#Thanks”之后:“我需要#help,拜托。#Thanks”目前,/#\w*\b/g找到所有#hashtags,但如何将它们包装在span标签中?谢谢!

javascript - 如何为响应式设计禁用 javascript

我一直在为我网站的幻灯片背景使用超大型jQuery。我正在使网站响应并使用css媒体查询。我希望能够在低于480像素时禁用脚本。这是实际slider背景的脚本$(document).ready(function(){jQuery(function($){$.supersized({//Functionalityslideshow:1,//Slideshowon/offautoplay:0,//Slideshowstartsplayingautomaticallystart_slide:1,//Startslide(0israndom)stop_loop:0,//Pausesslides