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

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

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

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

特性:

1.元素必須是對(duì)象。

添加一個(gè)number類(lèi)型的元素。

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

結(jié)果是報(bào)類(lèi)型錯(cuò)誤。

TypeError: Invalid value used in weak set

添加一個(gè)對(duì)象。

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

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

true

可以通過(guò)WeakSet的has方法判斷一個(gè)元素是否已在集合中。

如果不需要存儲(chǔ)元素時(shí),可以使用delete方法刪除元素。

2.弱引用,不被計(jì)入垃圾回收

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

因?yàn)檫@一特性,其性能要比map要高,對(duì)于存儲(chǔ)無(wú)順序要求的,不重復(fù)的,臨時(shí)存儲(chǔ)的場(chǎng)景,可以使用它。

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

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

false

3.不能遍歷

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

總結(jié)

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

相關(guān)文章

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

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

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

    JavaScript一元正號(hào)運(yùn)算符示例代碼

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

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

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

    mongoose之bulkWrite操作使用實(shí)例

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

    javascript prototype原型操作筆記

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

    js實(shí)現(xiàn)隨機(jī)點(diǎn)名

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

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

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

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

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

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

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

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

    下面小編就為大家?guī)?lái)一篇響應(yīng)式表格之固定表頭的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08

最新評(píng)論

封开县| 安图县| 石渠县| 嘉峪关市| 栾城县| 南漳县| 安顺市| 鹤壁市| 临桂县| 永州市| 太仆寺旗| 龙游县| 海林市| 哈密市| 财经| 宝应县| 邢台市| 北流市| 门头沟区| 隆安县| 柘城县| 宣汉县| 泸西县| 同江市| 惠水县| 西吉县| 秦皇岛市| 台州市| 五台县| 上饶县| 绩溪县| 建瓯市| 黄梅县| 福海县| 资中县| 石楼县| 兴国县| 教育| 九江市| 察雅县| 桂阳县|