草庐IT

包装行业

全部标签

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

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

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 - 将代码包装到闭包中是一个好习惯吗?

我是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 中用 if 语句包装 For in 循环——遍历数组

JSLint一直提示这样的事情varmyArray=[1,2,3];for(varvalueinmyArray){//BLAH}说我应该把它包装在一个if语句中。我知道如果要遍历对象的属性,则需要将其包装起来,但在这里我应该在if语句中放入什么才能进行正确的过滤。此外,当我做类似的事情时for(vari=0;i它提示说我已经被定义了。除了使用不同的变量名外,我该如何防止这种情况发生? 最佳答案 JSLint提示了很多其实并不有害。在这种情况下,提示for...in是正确的,因为这是遍历数组的错误构造。这是因为您不仅会获得数字键,还会

Web 存储周围的 Javascript API 包装器?

在variouswebstoragesystems上是否有类似包装器API抽象的跨浏览器jquery可用的? 最佳答案 localStorage(又名“网络存储”)实际上无法与WebSQL或IndexedDB相提并论,因为它在空间上受到严格限制并且是同步的(读作:卡住浏览器的UI,因为它会拉屎)。因此,我在其余的帖子中忽略了localStorage。但是,如果您只需要一点存储空间,则可以直接使用localStorage,因为它得到了相当广泛的支持,或者像其他帖子建议的那样使用lawnchair,它得到了更广泛的支持。所以我们只剩下W

javascript:包装函数的圈复杂度

我的大多数javascript代码文件如下所示:(function(){varFoo=function(){...};varBar=function(){...};...}());我尝试了很多计算代码圈复杂度的工具,它们都生成了错误的报告(从我的Angular来看),即:它们都将包装函数作为最复杂的函数.问题是所有的报告都被这个事实严重扭曲了:包装函数通常占据了复杂性饼图的一半以上,而且所有的平均数都是有偏差的。有没有办法获得我的代码的真实复杂性,而不会受到包装函数的影响?所有这些工具都做错了吗?将我的代码包装在一个函数中以进行范围界定是我做错了吗(我不这么认为)?我在使用这些工具时做

javascript - 包装 Firebug(或类似)控制台 api 时如何访问行号

我包装了控制台API以提供精细的日志记录级别以及一些其他糖功能。这工作正常,唯一的问题是Firebug(或任何其他控制台)将始终报告日志来自的行号作为控制台API本身被调用的行。您建议我如何让控制台记录我调用包装函数的行号?我更喜欢跨浏览器解决方案,但失败时使用Firebug插件可能是一个好的开始。仅供引用,我这样调用我的日志函数:db.log(db.LogLevel.WARN,"BlahBlahBlah"); 最佳答案 有趣的问题...我可能有一个破解方法给你。我现在无法对此进行测试,但我认为它可能会起作用。我们知道常规函数调用是

javascript - 在构建过程中将代码包装在自定义闭包中

我想在使用Grunt(和uglify)构建过程中将我的代码包装在自定义类型的闭包中。此操作必须保持sourceMap正常工作。我的用例是将所有代码包装在try/catchblock中,以允许记录生产中的错误-而不会失去对堆栈跟踪的访问(与window.onerror)。我可能会使用Raven-js1.0来解决这个问题。任何人都知道我如何轻松地管理它?如果您有可能带来完整答案的提示,我们也会接受 最佳答案 最后,我找到了一个grunt插件(grunt-wrap),它正是这样做的:wrap:{modules:{src:['assets/