关于jquery (function($){}) 和 $(function(){})?如下所示

请问下(function($){}) 和$(function(){}) 和$(function($){}) 有什么区别 谢谢

慕丝7291255
浏览 327回答 2
2回答

白板的微信

一、先看jQuery(function(){});全写为jQuery(document).ready(function(){});意义为在DOM加载完毕后执行了ready()方法。二、再看(function(){})(jQuery);其实际上是执行()(para)匿名方法,只不过是传递了jQuery对象。三、总结jQuery(function(){ });用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。不可用于存放开发插件的代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数)。(function(){ })(jQuery);用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码请小心使用。

慕森卡

1首先(function(){})()这种写法是创建了一个匿名的方法并立即执行(function(){})这个是匿名方法后面的括号就是立即调用了这个方法)。这样做可以创建一个作用域以保证内部变量与外部变量不发生冲突,比如$jQuery等jquery内部定义的变量。2(function($){})(jQuery)这个写法主要的作用还是保证jquery不与其他类库或变量有冲突首先是要保证jQuery这个变量名与外部没有冲突(jquery内部$与jQuery是同一个东西有两个名字的原因就是怕$与其他变量名有冲突二jQuery与其他变量冲突的几率非常小)并传入匿名对象,匿名对象给参数起名叫做$(其实和jquery内部是一样的)然后你就可以自由的在(function($){})(jQuery)里写你的插件而不需要考虑与外界变量是否存在冲突
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
JQuery