这个jQuery init是什么意思?

时间:2014-05-23 21:42:18

标签: jquery

在一些教程中,我发现了这样的jQuery声明:

(function($){
    //Init some code

})(jQuery);

这在jQuery中是如何工作的?

我通常会像这样初始化jQuery main.js:

$(document).ready(function(){
 //Init some code
});

1 个答案:

答案 0 :(得分:4)

两个代码都非常不同。

$(document).ready(function(){
  //Init some code
});

只要文档完成加载,就会执行此操作。它可以放在任何地方。阅读更多here。 虽然:

(function($){
//Init some code

})(jQuery);

是自动执行功能。它将在浏览器到来时执行。如果你把它放在你的代码的开头它会执行immentaly,所以如果你的元素在这个自执行函数之后,jquery选择器可能不起作用,因为那时元素根本不存在。基本上这个代码是一个将在声明的同时执行的函数,因此jQuery将作为第一个参数($)传递。

Tl; dr; document.ready的位置并不重要 - 它将在完成文档加载时执行,而自执行功能的位置应该只在dom之后元素宣言。