真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

深入理解JS垃圾回收-創(chuàng)新互聯(lián)

前言

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),吳堡企業(yè)網(wǎng)站建設(shè),吳堡品牌網(wǎng)站建設(shè),網(wǎng)站定制,吳堡網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,吳堡網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

JS之memoization,memoization 的原理是以參數(shù)作為 key,函數(shù)結(jié)果作為 value, 用對象進(jìn)行緩存起來,以內(nèi)存空間換 CPU 執(zhí)行事件。memoization 的潛在陷阱即是嚴(yán)格意義的緩存有著完善的過期策略,而普通對象的鍵值對并沒有。


用閉包進(jìn)行緩存的對象的內(nèi)存空間,不會在函數(shù)執(zhí)行完后被清除,在執(zhí)行量大和參數(shù)多樣性的情況下,會造成內(nèi)存占用且得不到釋放。


于是,本篇文章就來講講 JS 的垃圾回收。


JS 的垃圾回收機(jī)制的基本原理是:

找出那些不再繼續(xù)使用的變量,然后釋放其占用的內(nèi)存,垃圾收集器會按照固定的時間間隔周期性地執(zhí)行這一操作。

那我們怎么知道變量是不是在繼續(xù)使用呢?


首先,局部變量的生存周期是在函數(shù)聲明和執(zhí)行階段,函數(shù)執(zhí)行完畢后,局部變量就沒有存在的必要了。全局變量會在瀏覽器關(guān)閉或進(jìn)程關(guān)閉才能釋放。


但還有一些場景,比如閉包,通過作用域鏈訪問到函數(shù)外部的自由變量,使得自由變量保存在內(nèi)存中,不會隨著函數(shù)執(zhí)行完畢而結(jié)束,以及對象的相互引用等,垃圾收集器就沒這么容易判斷哪個變量有用,哪個變量沒用了。

// 經(jīng)典閉包
function closure() {
var name = "innerName";
return function() {
console.log(name);
}
}
var inner = closure();
inner(); // innerName;

當(dāng)前文章:深入理解JS垃圾回收-創(chuàng)新互聯(lián)
瀏覽地址:http://weahome.cn/article/dcgisi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部