
閉包
什么是閉包
有不少開發(fā)人員總是搞不清匿名函數(shù)和閉包這兩個(gè)概念,因此經(jīng)常混用。閉包是指有權(quán)訪問另一個(gè)函數(shù)作用域中的變量的函數(shù)。創(chuàng)建閉包的常見方式,就是在一個(gè)函數(shù)內(nèi)部創(chuàng)建另一個(gè)函數(shù)
為什么需要閉包呢
局部變量無法共享和長久的保存,而全局變量可能造成變量污染,所以我們希望有一種機(jī)制既可以長久的保存變量又不會(huì)造成全局污染。
特點(diǎn)
- 占用更多內(nèi)存
- 不容易被釋放
何時(shí)使用
既想反復(fù)使用,又想避免全局污染
GitHub:JavaScript-Demo
參考:
- JavaScript高級(jí)程序設(shè)計(jì)
- 圖解JS閉包