有人可以解释一下这段代码是做什么的吗?
(function($) {
$.cookie = function(key, value, options) {
// Body of the function here
}
})(jQuery);
以这种方式声明不是更简单吗?
function cookie(key, value, options) {
// Body of the function here
}
有人可以解释一下这段代码是做什么的吗?
(function($) {
$.cookie = function(key, value, options) {
// Body of the function here
}
})(jQuery);
以这种方式声明不是更简单吗?
function cookie(key, value, options) {
// Body of the function here
}
这称为闭包以避免与正在使用的其他库发生冲突$
。这样,您可以确保$
在该函数中使用并jQuery
作为参数传递。
(function ($) {
$(function () {
.......
});
})(jQuery); //<----passing jquery to avoid any conflict with other libraries.
像Mootools,原型等库也使用$
这个闭包来避免任何冲突。
您正在创建一个接受 的匿名函数$
,并立即调用它,传递jQuery
. 这会创建一个闭包 where $
is jQuery
。也就是说,如果您知道jQuery
在执行时它将是一个 jQuery 实例,那么您也知道这$
将是该闭包中的一个 jQuery 实例。这是针对可能还定义$
.