下面的代码结构有什么作用?
(function($){
// Some code
})(jQuery);
我在这里遇到过这种结构。
编辑
作为对我自己的参考:
jQuery
与您的 jQuery 范围相同$
。jQuery 以外的其他库通常也$
定义了字符。有人可能想在 jQuery 旁边使用另一个 js 库(例如 Mootools)。为了让它们一起工作,您应该取消定义或重新定义$
。
以下行在$
jQuery 中取消定义:
jQuery.noConflict();
以下行在jQuery 中重新$
定义:$jq
var $js = jQuery.noConflict();
当您使用代码结构时(function($){ // Some code })(jQuery);
,您保证 jQuery 代码//Some code
可以工作,即使有人在某个范围内调用该代码$
未定义
另请参阅 Tats_innit 的答案。