千鋒教育JavaScript全套視頻教程(10天學(xué)會(huì)Js,前端javascrip

閉包的優(yōu)缺點(diǎn):
優(yōu)點(diǎn):
①保護(hù)函數(shù)內(nèi)的變量安全 ,實(shí)現(xiàn)封裝,防止變量流入其他環(huán)境發(fā)生命名沖突
②在內(nèi)存中維持一個(gè)變量,可以做緩存(但使用多了同時(shí)也是一項(xiàng)缺點(diǎn),消耗內(nèi)存)。
③匿名自執(zhí)行函數(shù)可以減少內(nèi)存消耗。(function(){}){}
壞處:
?①被引用的私有變量不能被銷毀,增大了內(nèi)存消耗,造成內(nèi)存泄漏,解決方法是可以在使用完變量后手動(dòng)為它賦值為null。
?②其次由于閉包涉及跨域訪問(wèn),所以會(huì)導(dǎo)致性能損失,我們可以通過(guò)把跨作用域變量存儲(chǔ)在局部變量中,然后直接訪問(wèn)局部變量,來(lái)減輕對(duì)執(zhí)行速度的影響。
總的來(lái)說(shuō)
閉包:函數(shù)內(nèi)部包裹函數(shù),作用域鏈得不到釋放,造成消耗內(nèi)存。
標(biāo)簽: