https://cnodejs.org/topic/5d39c5259969a529571d73a8
閉包是可以通路另一個函數作用域的函數。由于 <code>javascript</code> 的特性,外層的函數無法通路内部函數的變量;而内部函數可以通路外部函數的變量(即作用域鍊)。
是以,使用閉包可以隐藏變量以及防止變量被篡改和作用域的污染,進而實作封裝。
而缺點就是由于保留了作用域鍊,會增加記憶體的開銷。是以需要注意記憶體的使用,并且防止記憶體洩露的問題。
https://cnodejs.org/topic/5d39c5259969a529571d73a8
閉包是可以通路另一個函數作用域的函數。由于 <code>javascript</code> 的特性,外層的函數無法通路内部函數的變量;而内部函數可以通路外部函數的變量(即作用域鍊)。
是以,使用閉包可以隐藏變量以及防止變量被篡改和作用域的污染,進而實作封裝。
而缺點就是由于保留了作用域鍊,會增加記憶體的開銷。是以需要注意記憶體的使用,并且防止記憶體洩露的問題。