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

匿名函数立即调用的函数表达式 -IIFE(Immediately-Invoked Function Expression)

时间:2016-04-25 06:38:15      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:

javascript 匿名函数有哪几种执行方式:

( function() {}() );
( function() {} )();
[ function() {}() ];

~ function() {}();
! function() {}();
+ function() {}();
- function() {}();

delete function() {}();
typeof function() {}();
void function() {}();
new function() {}();
new function() {};

var f = function() {}();

1, function() {}();
1 ^ function() {}();
1 > function() {}();
// ...

!(function() {})();前面为什么要加~、!这些符号?

后面的()是执行一个函数,而(function() {})是一个执行表达式,返回一个匿名函数的引用。

在前面加上一元运算符是为了进行分隔。

否则如果在(function() {})();之前包含“未结束”的语句,还没有加一元运算符进行分隔的话,会报错。

提示缺少函数。

既然前面的一元运算符或者;不能被省略,那么(function() {})这个()能不能省呢?
 
如果是;function() {}()就不行了,会报语法错误,其它一元运算符可以,但是仍然建议加上()。
 
我们一般都使用 !function(){}();来进行函数立即调用。

匿名函数立即调用的函数表达式 -IIFE(Immediately-Invoked Function Expression)

标签:

原文地址:http://www.cnblogs.com/sslxf1992/p/5429116.html

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