我试过googleing,但谷歌似乎并不关心括号......
答案 0 :(得分:3)
如果你看到这个:
(function($) {
// ...code using $...
})(jQuery);
它做了两件事:
$
作为jQuery引用的匿名函数。jQuery
。你可以这样做:
function foo($) {
// ...code using $...
}
foo(jQuery);
......但这会产生不必要的符号。
所有这一切都是因为jQuery具有符号jQuery
和符号$
,但人们使用jQuery.noConflict()
告诉jQuery返回$
并不罕见无论加载jQuery时是什么,因为其他几个流行的库(Prototype和MooTools,两个名字)使用$
,这可以让人们一起使用这些库和 jQuery。但是你仍然可以在函数中使用$
,因为参数会影响函数外部符号的含义。
答案 1 :(得分:1)
它基本上会自动调用定义的匿名/ lambda函数,并为其提供jQuery
引用。
与functionCall(jQuery)
几乎相同,除了你定义它并在同一行/表达式中调用它。
答案 2 :(得分:1)
通常这些都是......
(function($) {
// do something with $
})(jQuery);
这意味着该函数实际上正在使用jQuery
执行某项操作(它定义function(a) {...}
,然后将jQuery
传递为a
),但它希望能够在函数中使用$
代替jQuery
。
即使在无冲突模式下调用jQuery ,也允许使用$(this)
等等内容(因此$
通常不会引用jQuery)。< / p>