当函数以})结束时(jQuery)是什么意思;?

时间:2010-11-12 17:13:43

标签: jquery

我试过googleing,但谷歌似乎并不关心括号......

3 个答案:

答案 0 :(得分:3)

如果你看到这个:

(function($) {
    // ...code using $...
})(jQuery);

它做了两件事:

  1. 定义使用$作为jQuery引用的匿名函数。
  2. 调用它,传入jQuery
  3. 你可以这样做:

    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>