闭包的理解
1、理解
- 簡(jiǎn)單就是定義在一個(gè)函數(shù)內(nèi)部的函數(shù),可以使用其他函數(shù)的變量。
- 閉包是一種保護(hù)私有變量的機(jī)制,函數(shù)執(zhí)行時(shí)形成私有作用域,保護(hù)私有變量不受外界影響。
- 內(nèi)部函數(shù)可以使用外部函數(shù)的參數(shù)和變量,函數(shù)和變量不會(huì)被垃圾回收機(jī)制回收。
2、變量
- 變量:全局變量,任何地方可以訪問;局部變量,作用域內(nèi)訪問。
- 函數(shù)內(nèi)部聲明的變量必須var聲明,否則為全局變量。
3、閉包實(shí)現(xiàn)全局變量效果
var counter = (function(){var count = 0;return function() {return count += 1;}})() counter() ----> count = 1; counter() ----> count = 2; counter() ----> count = 3;? ? ?解析: 局部變量聲明定義指進(jìn)行一次,然后 counter 函數(shù)自我調(diào)用。
4、優(yōu)缺點(diǎn)
總結(jié)
- 上一篇: 有什么方法可以制作二寸照片
- 下一篇: MzTreeView节点树(梅花雪)