3

很明显,在 EcmaScript 中,函数在被调用时会创建一个新的执行上下文。函数内定义的所有变量和函数只能在该函数范围内访问。但是当我们使用闭包时,变量和函数可能会在该上下文之外被访问。IIFE 是一个立即调用的函数表达式。很简单。

但是为什么 IIFE 与自执行匿名函数不同,我并不完全清楚!?

4

1 回答 1

8

它们是相同的,之所以重命名为,是IIFE因为 anIIFE不一定是匿名的,并且它们不会执行自己。

考虑以下:

(function bleh() {
    alert('I am not anonymous, i have a name!');
})(); //<-- invoked like any other function
于 2012-09-20T08:02:34.383 回答