2013年6月

$(function(){ });与 (function(){})($); 区别

开发jQuery插件时总结的一些经验分享一下。

一、先看

$(function(){ 
}); 

全写为

$(document).ready(function(){     
}); 

意义为在DOM加载完毕后执行了ready()方法。
二、再看

(function(){ 

})($); 

其实际上是执行()(para)匿名方法,只不过是传递了jQuery对象。

三、总结

$(function(){});

用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。不可用于存放开发插件的代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数)。

(function(){})($);

用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码请小心使用。