我很困惑关于“what's the actual meaning of”的实际含义。
请帮我澄清一下这个问题。
(function ($){})(jQuery)
//in plugin
并且
$(function (){})
//in page.
请帮我澄清一下这个问题。
(function ($){})(jQuery)
//in plugin
并且
$(function (){})
//in page.
This:
(function ($){})(jQuery)
这是一个被定义并立即调用的函数,JQuery对象作为参数传入。 $
是对 JQuery 的引用,您可以在函数内部使用它。这与下面的代码等效:
var myFunc = function ($){};
myFunc(jQuery);
This:
$(function (){})
这是一个调用JQuery的方法,传入一个函数作为参数,在文档加载完成后执行。
$(function(){}); === $(document).ready(function(){});.
以上两者是相同的。
而 (function($){ .... })(jQuery);
是编写插件的结构。
这两者不相同。下面将清楚地解释每件事情,
(function($){
/* code here runs instantly*/
$('document').ready(function(){ // this function is exactly the same as the one below
/* code here runs when dom is ready */
});
$(function(){ // this function is exactly the same as the one above.
/* code here runs when dom is ready */
}
)(jQuery); // jQuery is a parameter of function($) {}
function($){ .... }
,立即调用并将jQuery
传递给它,即在函数内部$
指的是jQuery
。这样做是因为当您包含其他库时,全局$
可能不会引用jQuery
。 - Felix Kling