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