好奇......
我用这个开始我的jquery代码:
jQuery(document).ready(function($) { /*code here*/ })
每当我的同事处理我创建的js文件时,他总是将其更改为
(function($) { /*code here*/ })(jQuery);
我不喜欢将速记版本用于可读性(我的偏好),据我所知,没有区别。但如果有区别......我肯定会使用速记。
我不知道你的团队中有人改变你的代码会让你感到沮丧,而你却没有得到解释为什么......所以我在这里要求澄清。
这只是个人偏好吗?
答案 0 :(得分:3)
http://docs.jquery.com/Plugins/Authoring
如果您正在制作jQuery插件,或者针对特定用例使用jQuery,那么遵循插件模式似乎是社区最喜欢的方法。
然而,
(function($){
$(function(){
// do stuff on doc ready
});
})(jQuery);
或
(function($){
$(document).ready(function(){
// do stuff on doc ready
});
})(jQuery);
相当于你的
jQuery(document).ready(function($){
// do stuff on doc ready
});
你的同事的代码会在加载时立即执行,所以请教育他们。
答案 1 :(得分:1)
编辑:woops,没有正确阅读问题,修改了以下答案。
两人做不同的事情......
首先,代码在文档准备就绪后运行,并且可以访问元素,而第二个代码立即运行。因此,如果代码位于页面的<head>
部分并访问元素,第二个将无法正常运行。但是,如果它不依赖于正在加载的页面,则第二个更正确。
答案 2 :(得分:1)
对于不熟悉jQuery的人来说,您选择的语法更具可读性。
答案 3 :(得分:1)
据我所知,速记符号和写出来之间的性能没有差别。只是一个偏好问题。
至于对团队成员感到沮丧......如果你在团队中工作,你真的需要记录一些编码标准。你需要和其他团队成员做出一些让步,以达到每个人都会同意的标准。
没有标准,每个人都可以自由选择......并且花时间重新编写工作代码以适应风格偏好并不是很有效率。如果定义了编码标准,那么这种行为就会减少(人们希望)。