什么是閉包
在js中變數的作用域屬于函式作用域, 在函式執行完后,作用域就會被清理,記憶體也會隨之被回收,但是由于閉包函式是建立在函式內部的子函式, 由于其可訪問上級作用域,即使上級函式執行完, 作用域也不會隨之銷毀, 這時的子函式(也就是閉包),便擁有了訪問上級作用域中變數的權限,即使上級函式執行完后作用域內的值也不會被銷毀,
閉包解決了什么問題
- 可以讀取函式內部的變數
- 可以將變數的值始終保存在記憶體中,不會再函式被呼叫后清除
- 封裝getter 和 setter 方法
閉包缺點
- 閉包會導致函式內的變數都存在記憶體中,濫用閉包會導致記憶體消耗過大,導致網頁性能問題,解決方法是在退出函式之前,將不再使用的區域變數全部洗掉,
- 記憶體泄漏問題
感謝觀看,對于本篇文章有任何問題,可以在評論區評論!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/26558.html
標籤:其他
上一篇:python匯入docx后出錯
