首页 > 代码库 > Javascript自执行函数 (Immediately-Invoked Function Expression)
Javascript自执行函数 (Immediately-Invoked Function Expression)
1. Javascript编译器在遇到function这个关键字时,默认认为它是function声明,而不是表达式。
2. 在已声明的function后面加括号,即可调用它。比如,
function foo(){console.log(‘hello javascript.‘)}
foo();
3. 括号里面允许javascript表达式,(function(){console.log(‘hello javascript‘)}), 这样这个匿名函数就是一个表达式,而不是function的声明。根据上面第二点,后面加括号即可执行该函数,即(function(){console.log(‘hello javascript‘)})()。这个写法等价于(function(){console.log(‘hello javascript‘)}()),推荐用这个写法。
在不考虑返回值的情况下,以下方法都是等价的
+function(){console.log(‘hello javascript‘)}()
-function(){console.log(‘hello javascript‘)}()
!function(){console.log(‘hello javascript‘)}()
~function(){console.log(‘hello javascript‘)}()
new function(){console.log(‘hello javascript‘)}
new function(name){console.log(‘hello javascript‘ + name;)}(‘bruce‘)
Javascript自执行函数 (Immediately-Invoked Function Expression)