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

ES6新增數(shù)據(jù)結(jié)構(gòu)WeakSet的用法詳解

 更新時間:2017年08月07日 14:05:36   作者:白色的海  
WeakSet和Set類似,同樣是元素不重復(fù)的集合,它們的區(qū)別是WeakSet內(nèi)的元素必須是對象,不能是其它類型。接下來通過本文給大家詳細介紹ES6新增數(shù)據(jù)結(jié)構(gòu)WeakSet的用法,感興趣的朋友一起看看吧

WeakSet和Set類似,同樣是元素不重復(fù)的集合,它們的區(qū)別是WeakSet內(nèi)的元素必須是對象,不能是其它類型。

特性:

1.元素必須是對象。

添加一個number類型的元素。

const ws = new WeakSet()
ws.add(1)

結(jié)果是報類型錯誤。

TypeError: Invalid value used in weak set

添加一個對象。

const ws = new WeakSet()
var a = {p1:'1', p2:'2'}
ws.add(a)
console.log(ws.has(a));

添加OK,結(jié)果顯示:

true

可以通過WeakSet的has方法判斷一個元素是否已在集合中。

如果不需要存儲元素時,可以使用delete方法刪除元素。

2.弱引用,不被計入垃圾回收

添加進WeakSet的元素對象,WeakSet不會對元素對像的引用計數(shù)加1,對于被添加進WeakSet的元素對象,只要該元素對象沒有被除WeakSet以外的其他對象引用,就會被垃圾回收釋放,在WeakSet中的該元素對象自動被釋放,不會出現(xiàn)內(nèi)存泄漏。

因為這一特性,其性能要比map要高,對于存儲無順序要求的,不重復(fù)的,臨時存儲的場景,可以使用它。

const ws = new WeakSet()
var a = {p1:'1', p2:'2'}
ws.add(a)
a = null
console.log(ws.has(a));

先將對象添加到WeakSet中,然后將對象設(shè)成null,然后再下面的has方法判定時,結(jié)果顯示,表示W(wǎng)eakSet中已經(jīng)不存在該對象。

false

3.不能遍歷

因為其對內(nèi)部的元素對象是弱引用,隨時會被垃圾回收釋放掉,所以其不支持size和forEach等遍歷方法。

總結(jié)

以上所述是小編給大家介紹的ES6新增數(shù)據(jù)結(jié)構(gòu)WeakSet的用法詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • js實現(xiàn)數(shù)字跳動到指定數(shù)字

    js實現(xiàn)數(shù)字跳動到指定數(shù)字

    這篇文章主要為大家詳細介紹了js實現(xiàn)數(shù)字跳動到指定數(shù)字,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • JavaScript一元正號運算符示例代碼

    JavaScript一元正號運算符示例代碼

    這篇文章主要給大家介紹了關(guān)于JavaScript一元正號運算符的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 小程序云開發(fā)實戰(zhàn)小結(jié)

    小程序云開發(fā)實戰(zhàn)小結(jié)

    這篇文章主要介紹了小程序云開發(fā)實戰(zhàn)小結(jié),本文詳細的介紹了云開發(fā)以及環(huán)境的搭建和項目實踐,非常具有實用價值,需要的朋友可以參考下
    2018-10-10
  • mongoose之bulkWrite操作使用實例

    mongoose之bulkWrite操作使用實例

    這篇文章主要為大家介紹了mongoose之bulkWrite操作使用實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • javascript prototype原型操作筆記

    javascript prototype原型操作筆記

    在 JavaScript 中,prototype 不但能讓對象共享自己財富,而且 prototype 還有尋根問祖的天性,從而使得先輩們的遺產(chǎn)可以代代相傳。
    2009-12-12
  • js實現(xiàn)隨機點名

    js實現(xiàn)隨機點名

    這篇文章主要為大家詳細介紹了js實現(xiàn)隨機點名,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • js項目中雙向數(shù)據(jù)綁定的簡單實現(xiàn)方法

    js項目中雙向數(shù)據(jù)綁定的簡單實現(xiàn)方法

    雙向數(shù)據(jù)綁定指的就是,綁定對象屬性的改變到用戶界面的變化的能力,反之亦然,下面這篇文章主要給大家介紹了關(guān)于js項目中雙向數(shù)據(jù)綁定的簡單實現(xiàn)方法,需要的朋友可以參考下
    2021-08-08
  • Javascript讀取cookie函數(shù)代碼

    Javascript讀取cookie函數(shù)代碼

    Javascript讀取cookie函數(shù)代碼,需要的朋友可以參考下。
    2010-10-10
  • Javascript 中的 && 和 || 使用小結(jié)

    Javascript 中的 && 和 || 使用小結(jié)

    Javascript 中的 && 和 || ,有時候用作條件判斷,非常的簡潔,不熟悉的朋友可能不太了解,這里最后有個朋友補充,非常的好。
    2010-04-04
  • 響應(yīng)式表格之固定表頭的簡單實現(xiàn)

    響應(yīng)式表格之固定表頭的簡單實現(xiàn)

    下面小編就為大家?guī)硪黄憫?yīng)式表格之固定表頭的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08

最新評論

台前县| 河池市| 和平区| 丹寨县| 台南市| 岑溪市| 龙泉市| 杭州市| 兴海县| 汉源县| 枞阳县| 绥阳县| 澄迈县| 松原市| 陆良县| 临沭县| 庄河市| 金沙县| 民勤县| 常德市| 永修县| 南靖县| 石首市| 长葛市| 冕宁县| 萝北县| 即墨市| 赫章县| 商都县| 阜阳市| 鄂伦春自治旗| 方城县| 商丘市| 库车县| 桂平市| 绍兴市| 凌云县| 讷河市| 石嘴山市| 克拉玛依市| 含山县|