jQuery的目的(function($){...}($));

时间:2015-02-10 12:39:01

标签: javascript jquery ecmascript-5

我在我学习的各种项目中都看到过这种模式,有时当使用jQuery开发人员将代码包装在这个函数中时:

jQuery(function ($) {
    'use strict';

    /* Application code */

}($)); /* End jQuery */

我试图在jQuery文档中查找解释,但实际上找不到多少。你可以向我解释为什么以及何时使用它?对于像这样的事情,是否有更好的做法/替代方案。

4 个答案:

答案 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)

读到这个你就会明白它......

http://api.jquery.com/jquery.noconflict/

答案 2 :(得分:0)

非常类似于:

$(document).ready(function(){});

答案 3 :(得分:0)

没有外部包装器,它是一个插件定义,请参阅:Basic plugin creation