首页 > 代码库 > jQuery(function(){})与(function(){})(jQuery)的区别

jQuery(function(){})与(function(){})(jQuery)的区别

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

jQuery(function(){ 
}); 
全写为 
jQuery(document).ready(function(){ 
      
}); 

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

(function(){ 

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

三、总结 

jQuery(function(){ });用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。不可用于存放开发插件的代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数)。 
(function(){ })(jQuery);用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码请小心使用。 

<iframe id="google_ads_frame2" vspace="0" height="250" marginHeight="0" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-3447371224873639&output=html&h=250&slotname=8660799060&adk=1970350646&w=300&lmt=1401217477&flash=0&url=http%3A%2F%2Fwww.cnblogs.com%2Fxiaochao12345%2Fp%2F3754986.html&dt=1401217480266&shv=r20140520&cbv=r20140417&saldr=sb&correlator=1401217480156&frm=20&ga_vid=1304086684.1400769066&ga_sid=1401204879&ga_hid=1263300514&ga_fc=1&u_tz=480&u_his=563&u_java=1&u_h=768&u_w=1364&u_ah=740&u_aw=1364&u_cd=16&u_nplug=0&u_nmime=0&dff=verdana&dfs=12&adx=0&ady=0&biw=314&bih=74&eid=317150304%2C36098801&oid=3&rx=0&eae=0&docm=9&vis=0&fu=0&ifi=2&xpc=BE8oep8QiH&p=http%3A//www.cnblogs.com&dtd=51" frameBorder="0" width="300" allowTransparency="true" name="google_ads_frame2" marginWidth="0" scrolling="no" hspace="0"></iframe><iframe id="google_ads_frame3" vspace="0" height="250" marginHeight="0" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-3447371224873639&output=html&h=250&slotname=8660799060&adk=1970350646&w=300&lmt=1401217477&flash=0&url=http%3A%2F%2Fwww.cnblogs.com%2Fxiaochao12345%2Fp%2F3754986.html&dt=1401217480324&shv=r20140520&cbv=r20140417&saldr=sb&prev_slotnames=8660799060&correlator=1401217480156&frm=20&ga_vid=1304086684.1400769066&ga_sid=1401204879&ga_hid=1263300514&ga_fc=1&u_tz=480&u_his=563&u_java=1&u_h=768&u_w=1364&u_ah=740&u_aw=1364&u_cd=16&u_nplug=0&u_nmime=0&dff=verdana&dfs=12&adx=304&ady=250&biw=314&bih=74&eid=317150304%2C36098801&oid=3&rx=0&eae=0&docm=9&vis=0&fu=0&ifi=3&xpc=ZmeLZBBDal&p=http%3A//www.cnblogs.com&dtd=44" frameBorder="0" width="300" allowTransparency="true" name="google_ads_frame3" marginWidth="0" scrolling="no" hspace="0"></iframe>