1、IIFE( 立即調用函數表達式)是一個在定義時就會立即執行的 JavaScript 函數。
(function () {
statements
})();
這是一個被稱爲 自執行匿名函數 的設計模式,主要包含兩部分。第一部分是包圍在 圓括號運算符
()
裏的一個匿名函數,這個匿名函數擁有獨立的詞法作用域。這不僅避免了外界訪問此 IIFE 中的變量,而且又不會污染全局作用域。
第二部分再一次使用 ()
創建了一個立即執行函數表達式,JavaScript 引擎到此將直接執行函數。
2、ES6寫法
// IIFE 寫法
(function () {
var tmp = ...;
...
}());
// 塊級作用域寫法
{
let tmp = ...;
...
}