立即执行的函数表达式(IIFE,Immediately Invoked Function Expression)是一种在定义时立即执行的匿名函数。它的形式如下:
(function () {
// 函数体
})();
在这个例子中,函数是包含在一对圆括号内的,然后立即执行的。
立即执行的函数表达式常用来创建局部作用域,避免变量污染全局作用域。它还可以用来封装代码,提高代码的可维护性和可重用性。
例如,假设你想要创建一个计数器,在每次调用时都会增加计数器的值:
let counter = (function () {
let count = 0;
return function () {
return count++;
}
})();
console.log(counter()); // 0
console.log(counter()); // 1
console.log(counter()); // 2
在这个例子中,函数 counter
返回了一个匿名函数,每次调用时都会增加变量 count
的值。因为 count
变量是在立即执行的函数表达式中定义的,所以它不会污染全局作用域。