我在我学习的各种项目中都看到过这种模式,有时当使用jQuery开发人员将代码包装在这个函数中时:
jQuery(function ($) {
'use strict';
/* Application code */
}($)); /* End jQuery */
我试图在jQuery文档中查找解释,但实际上找不到多少。你可以向我解释为什么以及何时使用它?对于像这样的事情,是否有更好的做法/替代方案。
答案 0 :(得分:4)
$
是jQuery的别名,有时会与其他javascript库发生碰撞,例如mootools,内部也使用$
符号。
所以你刚刚在方法范围内保护了代码的$
jQuery别名:
jQuery(function ($) {
'use strict';
/* Application code */
}($));
另一种类似的方法是这样的范围:
(function($){
$(function(){ // <----here you have just secured the $ for your code.
'use strict';
/* Application code */
});
})(jQuery);
答案 1 :(得分:2)
读到这个你就会明白它......
答案 2 :(得分:0)
非常类似于:
$(document).ready(function(){});
答案 3 :(得分:0)
没有外部包装器,它是一个插件定义,请参阅:Basic plugin creation。