最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

weakMap為什么是弱引用原理

 更新時(shí)間:2023年02月10日 10:13:07   作者:追旅  
這篇文章主要為大家介紹了weakMap為什么是弱引用原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

聊一下WeakMap弱引用,看了很多文章發(fā)現(xiàn)說(shuō)的不對(duì),給出的demo經(jīng)過(guò)嘗試也是錯(cuò)誤的,哎,難搞也要搞

弱引用 vs 強(qiáng)引用

對(duì)象被強(qiáng)引用則不會(huì)被垃圾回收機(jī)制回收,這沒啥說(shuō)的。那到底啥事弱引用呢?

垃圾回收機(jī)制最常用的方法就是引用計(jì)數(shù),只要有引用堆內(nèi)存的地方,引用計(jì)數(shù)就要加1。如果一個(gè)值的引用次數(shù)是0,就表示這個(gè)值不再用到了,因此可以將這塊內(nèi)存釋放

弱引用則可以理解為引用計(jì)數(shù)不會(huì)+1,看一下實(shí)際表現(xiàn)

Map vs WeakMap

var m = new WeakMap()
function Foo() {
  this.arr = new Array(5 * 1024 * 1024)
}
var f = new Foo()
m.set(f, 'data')
f = null

網(wǎng)上有人說(shuō)m.get('f')得到的是undefined所以是弱引用,但其實(shí)你使用Map得到的也是undefined,這種說(shuō)法還非常的多,不能說(shuō)他說(shuō)的不對(duì)吧,簡(jiǎn)直就是胡說(shuō)。

回歸正傳,看一下為啥說(shuō)WeakMap是弱引用。打開F12,選擇內(nèi)存(memory),點(diǎn)擊小圓點(diǎn)獲取快照,然后搜索Foo,發(fā)現(xiàn)并沒有表示其已經(jīng)被回收

而后將WeakMap改為Map重新獲取快照,發(fā)現(xiàn)Foo沒有被回收

這個(gè)方式可以很直觀的表明WeakMap的弱引用

以上就是weakMap為什么是弱引用原理的詳細(xì)內(nèi)容,更多關(guān)于weakMap為什么是弱引用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 一文詳解JavaScript如何安全的進(jìn)行數(shù)據(jù)獲取

    一文詳解JavaScript如何安全的進(jìn)行數(shù)據(jù)獲取

    這篇文章主要為大家介紹了JavaScript如何安全的進(jìn)行數(shù)據(jù)獲取方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • tween.js緩動(dòng)補(bǔ)間動(dòng)畫算法示例

    tween.js緩動(dòng)補(bǔ)間動(dòng)畫算法示例

    本篇文章主要介紹了tween.js緩動(dòng)補(bǔ)間動(dòng)畫示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • JavaScript學(xué)習(xí)筆記之創(chuàng)建對(duì)象

    JavaScript學(xué)習(xí)筆記之創(chuàng)建對(duì)象

    在JavaScript中對(duì)象是一種基本的數(shù)據(jù)類型,在數(shù)據(jù)結(jié)構(gòu)上是一種散列表,可以看作是屬性的無(wú)序集合,除了原始值其他一切都是對(duì)象。這篇文章主要給大家介紹JavaScript學(xué)習(xí)筆記之創(chuàng)建對(duì)象,需要的朋友參考下吧
    2016-03-03
  • JavaScript使用arcgis實(shí)現(xiàn)截圖截屏功能

    JavaScript使用arcgis實(shí)現(xiàn)截圖截屏功能

    這篇文章主要為大家詳細(xì)介紹了JavaScript如何使用arcgis實(shí)現(xiàn)截圖截屏功能,類似于qq截圖,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2024-01-01
  • 微信小程序?qū)崿F(xiàn)tab點(diǎn)擊切換

    微信小程序?qū)崿F(xiàn)tab點(diǎn)擊切換

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)tab點(diǎn)擊切換,不滑動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JS隨即打亂數(shù)組實(shí)現(xiàn)代碼

    JS隨即打亂數(shù)組實(shí)現(xiàn)代碼

    使用javascript過(guò)程中,偶爾會(huì)用到數(shù)值,而且是打亂后的數(shù)值,本文將介紹一種高效打亂數(shù)組的方法,需要的朋友可以參考下
    2012-12-12
  • JavaScript實(shí)現(xiàn)微信小程序打卡時(shí)鐘項(xiàng)目實(shí)例

    JavaScript實(shí)現(xiàn)微信小程序打卡時(shí)鐘項(xiàng)目實(shí)例

    這篇文章主要為大家介紹了JavaScript實(shí)現(xiàn)微信小程序打卡時(shí)鐘項(xiàng)目實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • js獲取視頻時(shí)長(zhǎng)代碼

    js獲取視頻時(shí)長(zhǎng)代碼

    下面的這段js獲取視頻時(shí)長(zhǎng)代碼是網(wǎng)上找的,還沒有測(cè)試,需要的朋友可以參考下
    2014-04-04
  • 解析javascript瀑布流原理實(shí)現(xiàn)圖片滾動(dòng)加載

    解析javascript瀑布流原理實(shí)現(xiàn)圖片滾動(dòng)加載

    這篇文章主要幫助大家解析javascript瀑布流原理,實(shí)現(xiàn)js圖片滾動(dòng)加載
    2016-03-03
  • Javascript中classList的基本使用方法

    Javascript中classList的基本使用方法

    classList 是一個(gè)非常實(shí)用的工具,可以讓我們輕松地操作元素的類名,在使用 classList 時(shí),我們可以通過(guò) add、remove、toggle 和 contains 等方法來(lái)添加、刪除、切換和檢查類名,接下來(lái)我們?cè)敿?xì)學(xué)習(xí)一下classList的使用方法以及相關(guān)方法,感興趣的朋友一起看看吧
    2023-10-10

最新評(píng)論

上饶市| 米林县| 闸北区| 道真| 太湖县| 内江市| 长子县| 乐至县| 读书| 崇信县| 长阳| 报价| 肃北| 寿阳县| 长兴县| 乐清市| 永新县| 太康县| 夏邑县| 抚州市| 河东区| 刚察县| 渝中区| 宁明县| 松溪县| 榆社县| 开远市| 驻马店市| 衡阳市| 兰溪市| 轮台县| 阳山县| 天台县| 教育| 丹凤县| 栾川县| 二连浩特市| 清新县| 舟曲县| 成安县| 灌云县|