0

下面的代码结构有什么作用?

(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 的答案

4

2 回答 2

3

这是为了兼容性,以避免jQuery使用 ,$并且这样做可以将其免费用于其他框架。

该函数使用 jQuery 作为参数,因此在函数的作用域内$将有 jQuery 的方法,您可以通过$(美元符号)调用这些方法。

Mootools和 Prototype 也使用美元符号。

于 2013-10-17T15:57:21.007 回答
0

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

希望你已经参考了jQuery,如果不是从这里开始How jQuery Works

于 2013-10-17T15:57:09.083 回答