IIFE全称是Immediately Invoked Function Expression,立即调用函数表达式,是JavaScript中最流行的设计模式之一。
顾名思义,IIFE是一个在定义完成后自动调用的函数表达式,括号()在IIFE模式中起着重要作用。
IIFE也称为自执行匿名函数,两种写法:
(function () {
statements
})();
或
(function () {
statements
}());旧版本JavaScript只有全局作用域(global scope)和函数作用域(function scope),项目开发时定义变量,很容易污染全局变量,这才出现了IIFE。不过,从ES6开始有了块级作用域(block scope),IIFE的重要性已不如从前。