首页 > 其他 > 详细

(function() {})();和(function(){}())

时间:2015-12-28 06:21:26      阅读:258      评论:0      收藏:0      [点我收藏+]

两种写法的效果都一样:声明一个匿名函数并且立即调用之;

如果需要传参,那就写在圆括号里:例如:

(function(param){/*代码体*/})(param);

多个参数用逗号分隔:

(function(p1,p2){/*代码体*/})(p1,p2);

多举几个我见过的别人的写法:

一个依赖zepto或者jQuery的js插件:
(function($){/*...*/})(window.Zepto || window.jQuery);

有2个参数的:
(function(win, doc){/*...*/}(window, document));

 

 

(以下摘自别人的博客,时间不多,暂时先全复制过来)
1
$(function(){...});

 

  的完整写法是:

1
$(docunemt).ready(function(){...});

 

  意思是在DOM加载完毕后执行ready()方法。

1
(function($){...})(jQuery);

 

 等同于下面的写法:

1
2
var fun = function(params){....};
fun(jQuery);

 

 是立即执行匿名函数fun,这里参数是jQuery。这个写法主要目的是保证jQuery不与其他类库或变量有冲突。

1
(function($){....})(jQuery);

 

 在定义后就立刻执行, 在执行顺序上可能要先于

1
$(function(){});

 

(function() {})();和(function(){}())

原文:http://www.cnblogs.com/hamsterPP/p/5081421.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!