第 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. 在閉包不使用的情況下要及時釋放,否則將造成內存泄漏

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