第 48 題:什麼是閉包?

語言: CN / TW / HK

閉包就是指有權訪問另一個函式作用域中的變數的函式

觀看了 JS 高階程式設計中的閉包後,發現可以描述的更具體,這個將在後期更新此篇文章

栗子

function foo() {
    var local = 1;
    function bar() {
        local++;
        return local;
    }
    return bar;
}

var func = foo();
console.log(func()); // 2

優點

  1. 可以讀取函式內部的變數

  2. 函式內部的變數保留在記憶體中,不被銷燬

缺點

  1. 在閉包不使用的情況下要及時釋放,否則將造成記憶體洩漏

文章的內容/靈感都從下方內容中借鑑