[JS] 闭包与内存泄漏
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                [JS] 闭包与内存泄漏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                -  一句話總結閉包:函數里套函數,函數返回函數。 
-  內存泄漏:每次外部函數執行的時候,外部函數的引用地址不同,都會重新創建一個新的地址。但凡是當前活動對象中有被內部子集引用的數據,那么這個時候,這個數據不刪除,保留一根指針給內部活動對象。 
-  閉包內存泄漏為: key = value,key 被刪除了 value 常駐內存中。 
function foo() {let a = 10function show() {console.log(++a)}return show
}
let f = foo()
f() //11
f() //12
f() //13
- 原本a應該被銷毀,而反復調用f時,a的值一直被保留。
- 直接調用foo(),啥也不輸出。
- foo()()這樣寫,a在函數結束時被銷毀,不造成內存泄漏。
foo() //啥也沒有
foo()() //11
foo()() //11
總結
以上是生活随笔為你收集整理的[JS] 闭包与内存泄漏的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 欧莱雅红白双管面霜和眼霜有什么区别?
- 下一篇: 息息开头的成语有哪些啊?
