五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

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

2023-07-21 09:09 作者:熊大財  | 我要投稿

閉包的定義

一個函數(shù)的執(zhí)行空間以及環(huán)境中所在的局部變量。

??代碼舉例及運行結(jié)果如下:

  1. function fn(){

  2. let a=10;

  3. return function(){

  4. console.log(a);

  5. }

  6. }

  7. const closure=fn();

  8. closure();

  9. console.log(a);


能訪問到局部變量的原因:

JS的垃圾回收機制

?JS中內(nèi)存為自動分配。垃圾回收方法有引用計數(shù)和標記清理。其中引用計數(shù)原理為統(tǒng)計引用次數(shù)確定該部分內(nèi)存是否回收,由于弊端太多所以不經(jīng)常使用。而目前主流的標記清理為將未被引用的變量標記,并清理。


以上面代碼為例,全局變量closure引用為renturn的匿名函數(shù),而這個匿名函數(shù)中涉及到了對于局部變量a的引用。由于這樣一系列的引用,導致了系統(tǒng)在垃圾回收時這些內(nèi)存空間無法回收銷毀,這就能夠訪問到了。


閉包的優(yōu)點

1.局部變量能夠常駐內(nèi)存,隨時可以訪問。


2.不會污染全局變量名稱定義。


3.通過閉包可以構(gòu)造私有變量,而私有變量不能直接訪問,只能通過閉包函數(shù)訪問操作,確保了數(shù)據(jù)安全。


閉包的缺點

由于局部變量能夠常駐內(nèi)存,這就導致無法及時釋放內(nèi)存空間,導致整體內(nèi)存空間減少,也即內(nèi)存泄漏。


內(nèi)存泄漏的處理

在確定不再使用閉包時,將保存閉包引用的變量設(shè)為null。


千鋒教育JavaScript全套視頻教程(10天學會Js,前端javascrip的評論 (共 條)

分享到微博請遵守國家法律
简阳市| 太康县| 手机| 项城市| 巴楚县| 莱阳市| 庄河市| 大港区| 岳普湖县| 施甸县| 黎平县| 沾益县| 广南县| 波密县| 晴隆县| 百色市| 宜兴市| 大丰市| 巴彦淖尔市| 吉安市| 德兴市| 德化县| 四子王旗| 象山县| 长海县| 比如县| 惠东县| 股票| 蒙城县| 沁源县| 兴业县| 孝感市| 喀喇| 东山县| 怀柔区| 新干县| 松江区| 勐海县| 将乐县| 华池县| 顺平县|