理解JavaScript 中自執行函數的用途
程式設計師在JavaScript 中經常遇到以下模式:
(function() { //Bunch of code... })();
它被稱為自執行函數,在創建時立即調用自身。與簡單地將程式碼編寫為一系列語句相反,此模式具有特定目的。
變數作用域隔離
關鍵差異在於變數作用域。自執行函數中宣告的變數是封裝的,函數作用域外的程式碼無法存取它們。這是透過使用立即調用函數表達式 (IIFE) 來實現的。
請考慮以下範例,如 Alexander 所討論的:
(function() { var foo = 3; console.log(foo); })(); console.log(foo);
變數 foo 是在 self-執行函數。當執行 console.log() 方法時,它會列印 3。但是,當嘗試在函數作用域之外存取 foo 時,它是未定義的。
這種行為允許程式設計師定義變數和函數,而不必擔心命名衝突與其他 JavaScript 程式碼。它有效地創建了一個有圍牆的花園,其中變數被隔離和保護。只有自執行函數中的程式碼才能存取它們。
以上是為什麼在 JavaScript 中使用自執行函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!