码迷,mamicode.com
首页 > 其他好文 > 详细

自执行函数表达式

时间:2016-02-02 20:38:31      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

JavaScript里括弧()里面不能包含语句,所以在这一点上,解析器在解析function关键字的时候,会将相应的代码解析成function表达式,而不是function声明。(一个表达式会产生一个值)

(function () { /* code */ } ()); // 推荐使用这个

(function(){alert(1);})();  // 但是这个也是可以用

 

// 由于括弧()和JS的&&,异或,逗号等操作符是在函数表达式和函数声明上消除歧义的

// 所以一旦解析器知道其中一个已经是表达式了,其它的也都默认为表达式了

 

var i = function () { return 10; } ();

true && function () { /* code */ } ();

0, function () { /* code */ } ();

// 如果你不在意返回值,或者不怕难以阅读

// 你甚至可以在function前面加一元操作符号

!function () { /* code */ } ();

~function () { /* code */ } ();

-function () { /* code */ } ();

+function () { /* code */ } ();

// 还有一个情况,使用new关键字,也可以用,

new function () { /* code */ } ()

// 如果需要传递参数,只需要加上括弧()

自执行函数表达式

标签:

原文地址:http://www.cnblogs.com/yangjingjing/p/5178395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!