我怎样才能让这个代码 jsLint 快乐?
;(function ( $, window, document, undefined ) {
//some code
})( jQuery, window, document );
它建议我这样写?会有什么不同吗?我该怎么办 ?
(function ( $, window, document, undefined ) {
//some code
}( jQuery, window, document ));
我正在复制 JSLint 堆栈中下一个问题的答案。这就是为什么克罗克福德说第二种方法更好。
From http://javascript.crockford.com/code.html http://javascript.crockford.com/code.html
当一个函数要被立即调用时,整个调用过程
表达式应该用括号括起来,以便清楚地表明
产生的价值是函数的结果,而不是
函数本身。
稍微扩展一下,正如我们所知,JavaScript 并不是一种强类型语言。推一个的情况并不少见function
放入变量中,事实上,将函数放入变量中可能更常见var
比立即调用的匿名函数的值。
因此,值得在代码中添加一些语法糖来显示您何时invoking而不是设置对函数的引用。
不要被那些抱怨无法分离的人所困扰道格拉斯·克罗克福德 http://en.wikipedia.org/wiki/Douglas_Crockford来自 JSLint 的意见。他们是对的,这很好!
在一个足够大的项目中,你为什么要have不同意他的观点?我从未见过克罗克福德要求的东西客观上是错误的。 JSLint 中的所有规则都是arguably好的,共享项目中代码的标准化通常是一件非常好的事情。他免费教你好(!坏?)习惯。值得一起玩。
(前面的分号,我明白你的意思了——防御性很好。但是如果每个人都使用 JSLint...我仍然感受到你的痛苦。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)