(function ($) {
...
} ) (jQuery);
答案 0 :(得分:6)
避免与其他使用$
的JavaScript库发生冲突。
但是,此方法允许您随意使用该功能中的$
,无需在那里使用jQuery
。
在编写jquery插件时,该模式也很重要。
答案 1 :(得分:2)
它创建一个函数,以$
作为参数,并立即以jQuery
作为参数运行该函数。实际上,即使使用jQuery.noConflict()
,也会确保代码中的$
指向jQuery
。
答案 2 :(得分:1)
这样,您可以在函数范围内使用$
,但在外部,jQuery并没有破坏其他库对$
的使用(例如Prototype也使用$
,并且有些人喜欢将两者混合在一起)
答案 3 :(得分:0)
除了其他答案中详细说明的原因之外,访问函数参数(稍微!)比全局变量更快。
只要未调用jQuery.noConflict()
,就可以将其写为function($){ … }($)
,效果相同。
答案 4 :(得分:0)
也称为匿名回调函数,因为它未绑定到任何对象,所以 严格'功能'。使用jQuery设计插件时的良好设计模式 避免其他人指出的冲突!