Javascript自执行函数 (Immediately-Invoked Function Expression)

Posted liangzi4000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)的主要内容,如果未能解决你的问题,请参考以下文章

Javascript的自执行函数

javascript中的自执行函数

Javascript的匿名函数与自执行

自执行函数-[javascript]-[语法]

JavaScript自执行函数和jquery扩展方法

javascript自执行函数常见写法