久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

es6 map有序嗎

map是有序的。ES6中的map類型是一種儲(chǔ)存著許多鍵值對(duì)的有序列表,其中的鍵名和對(duì)應(yīng)的值支持所有數(shù)據(jù)類型;鍵名的等價(jià)性判斷是通過(guò)調(diào)用“Objext.is()”方法來(lái)實(shí)現(xiàn)的,所以數(shù)字5與字符串“5”會(huì)被判定為兩種類型,可以分別作為兩種獨(dú)立的鍵出現(xiàn)在程序中。

es6 map有序嗎

前端(vue)入門到精通課程:進(jìn)入學(xué)習(xí)
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點(diǎn)擊使用

本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。

一、map集合

JavaScript的對(duì)象(object),本質(zhì)是上鍵值對(duì)的集合,但是傳統(tǒng)上只能用字符串當(dāng)做鍵值對(duì)。

為了解決這個(gè)問(wèn)題,ES6提供了map數(shù)據(jù)結(jié)構(gòu)。它類似對(duì)象,也是鍵值對(duì)的集合。但是這個(gè)鍵的范圍不限于字符串,各種類型的值(包括對(duì)象)都可以當(dāng)做鍵。也就是說(shuō)object結(jié)構(gòu)提供了(字符串-值)的對(duì)應(yīng),map結(jié)構(gòu)實(shí)現(xiàn)

ES6中的map類型是一種儲(chǔ)存著許多鍵值對(duì)的有序列表,其中的鍵名和對(duì)應(yīng)的值支持所有數(shù)據(jù)類型。鍵名的等價(jià)性判斷是通過(guò)調(diào)用Objext.is()方法來(lái)實(shí)現(xiàn)的,所以數(shù)字5與字符串‘5’會(huì)被判定為兩種類型,可以分別作為兩種獨(dú)立的鍵出現(xiàn)在程序中。

注意:有一個(gè)例外,map集合中將+0和-0視為相等,與Object.is()結(jié)果不同,如果需要“鍵值對(duì)”的數(shù)據(jù)結(jié)構(gòu),map比object更合適,具有極快的查找速度

1、屬性:size

返回map的元素?cái)?shù)

2、基本方法

(1)set()

給map添加數(shù)據(jù),返回添加后的map(給已存在的鍵賦值后會(huì)覆蓋掉之前的值)

(2)get()

獲取某個(gè)key的值,返回key對(duì)應(yīng)的值,沒(méi)有則返回undefined

(3)has()

檢測(cè)是否存在某個(gè)key,返回布爾值

let map = new Map();   map.set('JacksonWang','123'); map.set('LEO','456'); map.set('Z-','789');   console.log(map.size); console.log(map.get('JacksonWang')); console.log(map.get('LEO')); console.log(map.has('Z-'));   //輸出:    3 //        123 //        456 //        true
登錄后復(fù)制

(4)delete()

刪除某個(gè)key及其對(duì)應(yīng)的value,返回布爾值,成功刪除則為true

(5)clear()

清除所有的值,返回undefined

let map = new Map();   map.set('JacksonWang','123'); map.set('LEO','456'); map.set('Z-','789');   map.delete('Z-'); console.log(map.size);   console.log(map.clear())   //輸出:  2 //      undefined
登錄后復(fù)制

3、遍歷方式

注意:map的遍歷順序就是插入順序

(1)keys()

獲取map的所有key

(2)values()

獲取map的所有值

(3)entries()

獲取map的所有成員

let map = new Map();   map.set('JacksonWang','123'); map.set('LEO','456'); map.set('Z-','789');   console.log(map.keys())//打印所有的鍵 console.log(map.values())//打印所有的值 console.log(map.entries())//以鍵值對(duì)的方式   /*輸出: [Map Iterator] { 'JacksonWang', 'LEO', 'Z-' } [Map Iterator] { '123', '456', '789' } [Map Entries] {   [ 'JacksonWang', '123' ],   [ 'LEO', '456' ],   [ 'Z-', '789' ] }*/
登錄后復(fù)制

(4)forEach()

遍歷map的所有成員

let map = new Map();   map.set('JacksonWang','123'); map.set('LEO','456'); map.set('Z-','789');   for(const [key,value] of map.entries()){     console.log(`${key}:${value}`); } /*輸出: JacksonWang:123 LEO:456 Z-:789 */
登錄后復(fù)制

4、轉(zhuǎn)為數(shù)組

map結(jié)構(gòu)轉(zhuǎn)為數(shù)組解構(gòu)

let map1 = new Map([     [1,'One'],     [2,'Two'],     [3,'Three'] ])   console.log([...map1.keys()]); console.log(...map1.entries()) console.log([...map1.entries()]);   /*輸出: [ 1, 2, 3 ] [ 1, 'One' ] [ 2, 'Two' ] [ 3, 'Three' ] [ [ 1, 'One' ], [ 2, 'Two' ], [ 3, 'Three' ] ] */
登錄后復(fù)制

二、weakmap集合

WeakMap是弱引用Map集合,也用于存儲(chǔ)對(duì)象的弱引用。WeakMap集合中的鍵名必須是一個(gè)對(duì)象,如果使用非對(duì)象鍵名會(huì)報(bào)錯(cuò):集合中保存的是這些對(duì)象的弱引用,如果在弱引用之外的不存在其他的強(qiáng)引用,引擎的垃圾回收機(jī)制會(huì)自動(dòng)回收這個(gè)對(duì)象,同時(shí)會(huì)移出WeakMap集合中的鍵值對(duì)。但是只有集合的鍵名遵循這個(gè)規(guī)則,鍵名對(duì)應(yīng)的值如果是一個(gè)對(duì)象,則保存的對(duì)象的強(qiáng)引用,不會(huì)觸發(fā)垃圾回收裝置

1、WeakMap集合的用途

(1)存儲(chǔ)DOM元素

<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head> <body>     <button id="btn">WeskMap測(cè)試</button>     <script>         let btn = document.querySelector('#btn');         let wmap = new WeakMap();         wmap.set(btn,{timesClicked:0})//在map中放一個(gè)鍵值對(duì),btn為鍵           btn.addEventListener('click',function(){             let temp = wmap.get(btn);//從這里獲取鍵名為btn的值             temp.timesClicked++;             console.log(temp.timesClicked)         },false)     </script> </body> </html>
登錄后復(fù)制

代碼中的myElement是一個(gè)DOM節(jié)點(diǎn),每當(dāng)發(fā)生click事件,就更新一下?tīng)顟B(tài)。我們將這個(gè)狀態(tài)作為鍵值放在WeakMap里,對(duì)應(yīng)的鍵名就是myElement,一旦這個(gè)DOM節(jié)點(diǎn)刪除,該狀態(tài)就會(huì)自動(dòng)消失,不存在內(nèi)存泄漏的風(fēng)險(xiǎn)

es6 map有序嗎

(2)注冊(cè)監(jiān)聽(tīng)事件的listener對(duì)象

<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head> <body>     <button id="btn">WeskMap測(cè)試</button>     <script>         let btn = document.querySelector('#btn');         let wmap = new WeakMap();         wmap.set(btn,{timesClicked:0})//在map中放一個(gè)鍵值對(duì),btn為鍵           // btn.addEventListener('click',function(){         //     let temp = wmap.get(btn);//從這里獲取鍵名為btn的值         //     temp.timesClicked++;         //     console.log(temp.timesClicked)         // },false)         function f1(){             let temp = wmap.get(btn);//從這里獲取鍵名為btn的值             temp.timesClicked++;             console.log(temp.timesClicked)         }         btn.addEventListener('click',f1,false)     </script> </body> </html>
登錄后復(fù)制

所體現(xiàn)的效果是一樣的

(3)部署私有屬性

function Person(name){     this._name = name; }   Person.prototype.getName = function(){     return this._name; } //但這是,創(chuàng)建一個(gè)Person對(duì)象的時(shí)候,我們可以直接訪問(wèn)name let p = new Person('張三'); console.log(p._name)   //輸出:張三
登錄后復(fù)制

我們不想讓用戶直接訪問(wèn)name屬性,直接使用下面的方法將name包裝成私有屬性

let Person = (function(){     let privateData = new WeakMap();     function Person(yourname){         privateData.set(this,{_name:yourname})//this當(dāng)前這個(gè)鍵的對(duì)象     }     Person.prototype.getName = function(){         return privateData.get(this)._name;//     }     return Person; })();//定義好了函數(shù)就開(kāi)始執(zhí)行   let p = new Person('jack'); console.log(p._name)//因?yàn)閚ame的私有型,所以在外不可訪問(wèn) console.log(p.getName())   /*輸出: undefined jack */
登錄后復(fù)制

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
日本亚州欧洲精品不卡| 国产亚洲一区| 免费在线亚洲欧美| 国产乱子精品一区二区在线观看| 亚洲欧美网站在线观看| 免费日韩av片| 免费视频最近日韩| 亚洲特色特黄| 欧美日韩精品免费观看视完整| 精品三级在线观看视频| 精品精品99| 免费一二一二在线视频 | 香蕉久久国产| 久久国产精品亚洲77777| 蜜桃免费网站一区二区三区| 综合国产在线| 国产视频一区二| 久久精品国产在热久久| 中文字幕成在线观看| 亚洲无线一线二线三线区别av| 精品在线99| 亚洲激情偷拍| 日韩三区四区| 国语对白精品一区二区| 亚洲爱爱视频| 亚洲一区观看| 欧美日一区二区在线观看| 精品一区二区三区中文字幕在线| 福利在线免费视频| 99热精品在线| 国产毛片精品| 久久精品亚洲欧美日韩精品中文字幕| 91精品成人| 日韩高清国产一区在线| 成人台湾亚洲精品一区二区| 午夜国产欧美理论在线播放| 99成人在线| 国产另类在线| 亚洲先锋成人| 日本免费在线视频不卡一不卡二| 精品免费在线| 国产亚洲精品v| 国产精品第一国产精品| 99精品小视频| 奇米亚洲欧美| 久久国产直播| 欧美一区成人| 欧美粗暴jizz性欧美20| 日韩福利视频一区| 免费看av不卡| 日本精品久久| 色婷婷综合网| 亚洲香蕉久久| 黄色在线网站噜噜噜| 久久福利毛片| 水蜜桃久久夜色精品一区| 日韩视频久久| 久久gogo国模啪啪裸体| 免费国产自久久久久三四区久久| 日本精品国产| 午夜av成人| 国产伦一区二区三区| 免费黄色成人| 精品久久久久中文字幕小说| 99精品99| 国产精品麻豆久久| 国产精品呻吟| 国产在线视频欧美一区| 蜜桃视频在线观看一区| 超级白嫩亚洲国产第一| 婷婷亚洲精品| 99久久www免费| 国产亚洲久久| 丝袜美腿亚洲色图| 裤袜国产欧美精品一区| 97久久精品| 水蜜桃久久夜色精品一区的特点| 国产第一亚洲| 97成人超碰| 香蕉视频成人在线观看| 麻豆成人91精品二区三区| 尹人成人综合网| 久久精品网址| 97久久超碰| 丝袜美腿一区二区三区| 91精品国产91久久久久久黑人| 国产日韩中文在线中文字幕| 久久99伊人| 亚洲午夜91| 五月激情久久| jizzjizz中国精品麻豆| 国产精品天天看天天狠| 亚洲精品九九| 亚洲免费婷婷| 免费观看久久av| 日韩免费av| 国产精品香蕉| 日韩成人一级| 亚洲精品系列| 亚洲在线成人| 亚洲韩日在线| 久久在线免费| av高清一区| 中国字幕a在线看韩国电影| 精品国产亚洲一区二区三区大结局| 日本免费一区二区视频| 亚欧洲精品视频在线观看| 黑丝一区二区| 亚洲婷婷免费| 欧美性感美女一区二区 | 国产香蕉精品| 日韩精品中文字幕吗一区二区| 国产精品老牛| 国产免费成人| 免播放器亚洲| 国产一区成人| 久久国产精品亚洲77777| 国产精品嫩草99av在线| 美女久久久久| 九色精品91| 亚洲激情婷婷| 久久国产精品亚洲77777| 午夜在线精品偷拍| 老牛国产精品一区的观看方式| 亚洲深夜av| 亚洲欧美一区在线| 激情欧美一区| 黄色不卡一区| 欧美在线亚洲| 久久亚洲影院| 日本一区二区三区中文字幕| 日本少妇一区二区| 国产毛片一区二区三区| 美女在线视频一区| 精品一区二区男人吃奶| 国产网站在线| 99久久精品国产亚洲精品| 亚洲精品一区二区妖精| 国产精品腿扒开做爽爽爽挤奶网站| 欧美综合国产| 蜜臀av国产精品久久久久| 日本不卡中文字幕| 欧美日韩中出| 国际精品欧美精品| 日韩一区三区| 一本色道久久精品| 日韩福利在线观看| 成人午夜在线| 亚洲大全视频| 亚洲精品九九| 美女精品一区二区| 热三久草你在线| 欧美日韩国产探花| 亚洲精品综合| 麻豆国产欧美日韩综合精品二区| 国产亚洲精品精品国产亚洲综合| 美女视频黄久久| 亚洲福利一区| 日韩一区免费| 都市激情国产精品| 亚洲中午字幕| 麻豆成人在线观看| 国产综合激情| 日韩高清不卡一区二区| 久久久久久网| 视频在线观看91| 久久99久久人婷婷精品综合| 亚洲免费福利| 视频一区二区不卡| 欧美国产中文高清| 婷婷激情一区| 亚洲人成网77777色在线播放| 国产精品亚洲人成在99www| 亚洲伦乱视频| 91亚洲精品在看在线观看高清| 国产精品xx| 蜜臀久久久久久久| 国内精品美女在线观看| 在线亚洲观看| 国产一区二区三区精品在线观看| 欧美69视频| 国产精品午夜av| 亚洲精品va| 国产探花一区在线观看| 国产一区观看| 国产精品嫩模av在线| 久久久夜精品| 久久国产生活片100| 91精品久久久久久久久久不卡| 日本一区二区中文字幕| 波多野结衣久久精品| 日韩一区二区三区四区五区| se01亚洲视频 | 国产精品高潮呻吟久久久久| 九色精品91| 国内揄拍国内精品久久| 免费在线看一区| 丝袜av一区| 久久久久久亚洲精品美女| 中文精品电影|