jquery (function($){}) 和 $(function(){})

请问下(function($){})和$(function(){})和$(function($){})有什么区别谢谢... 请问下(function($){}) 和$(function(){}) 和$(function($){}) 有什么区别 谢谢 展开
 我来答
路伟房嘉美
2019-01-12 · TA获得超过3923个赞
知道大有可为答主
回答量:3100
采纳率:34%
帮助的人:463万
展开全部
1
首先(function(){})()这种写法
是创建了一个匿名的方法并立即执行(function(){})这个是匿名方法后面的括号就是立即调用了这个方法)。
这样做可以创建一个作用域以保证内部变量与外部变量不发生冲突,比如$
jQuery
等jquery内部定义的变量。
2
(function($){})(jQuery)
这个写法主要的作用还是保证jquery不与其他类库或变量有冲突
首先是要保证jQuery这个变量名与外部没有冲突(jquery内部$与jQuery是同一个东西
有两个名字的原因就是怕$与其他变量名有冲突二jQuery与其他变量冲突的几率非常小)并传入匿名对象,匿名对象给参数起名叫做$(其实和jquery内部是一样的)
然后你就可以自由的在(function($){})(jQuery)里写你的插件而不需要考虑与外界变量是否存在冲突
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feng663727
推荐于2018-02-27 · TA获得超过263个赞
知道小有建树答主
回答量:108
采纳率:0%
帮助的人:154万
展开全部
一、先看

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

});

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

(function(){

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

三、总结

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

参考资料: http://eason26-li.javaeye.com/blog/520188

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式