立即调用函式 IIFE (Immediately Invoked Function Expression) 是什么?
JavaScript 中的立即调用函式 (IIFE,Immediately Invoked Function Expression),指的是一种在定义时立即执行的匿名函式,通常用于创建一个局部作用域,避免全局污染。
语法格式如下:
(function () {// Code to be executed
})();
在这种表达式中,函式定义与函式调用的括号是一起的,确保函式只会被执行一次,而不是定义后可以多次执行。在这个封闭的作用域中,变量和函式都不会污染全局环境。
立即调用函式的好处
创建局部作用域
通过使用 IIFE 可以创建一个局部作用域,避免全局变量的污染。以下代码可以看到,在 IIFE 中,有一个局部变量 localVariable。 localVariable 只能在 IIFE 内访问,不能在 IIFE 外访问,
// Global scope
var globalVariable = "global variable";(function () {// Local scope inside IIFEvar localVariable = "local variable";console.log(localVariable); // local variable
})();console.log(localVariable); // ReferenceError: localVariable is not defined
console.log(globalVariable); // global variable