(function($){//一些代码})(jQuery);

时间:2013-10-17 15:54:43

标签: jquery

以下代码结构有何作用?

(function($){
   // Some code
})(jQuery);

我遇到过这种结构here

修改

作为对自己的参考:

jQuery与jQuery范围中的$相同。除了jQuery之外的其他库通常也定义了字符$。有人might want to use another js library next to jQuery(例如Mootools)。为了让他们一起工作,你应该取消定义或重新定义$

以下行在jQuery中取消定义$

jQuery.noConflict();   

以下行在jQuery中将$重新定义为$jq

var $js = jQuery.noConflict();

使用代码结构(function($){ // Some code })(jQuery);时,即使有人在//Some code未定义的范围内调用该代码,也可以保证jQuery代码$正常工作。

另见Tats_innit的回答here

2 个答案:

答案 0 :(得分:3)

这是为了兼容性,以避免jQuery使用$,并通过这样做,让其为其他框架释放。

此函数使用jQuery作为参数,因此在函数范围内$将具有jQuery的方法,您可以通过$(美元符号)调用它们。

Mootools和Prototype也使用美元符号。

答案 1 :(得分:0)

当您的页面加载到浏览器中时,它将运行一些功能。

希望你已提到 jQuery ,如果不是从这里开始How jQuery Works