成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

js對(duì)象中什么是可枚舉性(enumerable)?

Leck1e / 3975人閱讀

摘要:引言說(shuō)到枚舉,可能很多人都會(huì)想到枚舉類(lèi)型,但在對(duì)象中有一個(gè)屬性為可枚舉性,他是什么呢概念可枚舉性用來(lái)控制所描述的屬性,是否將被包括在循環(huán)之中。至于循環(huán)和方法的區(qū)別,在于前者包括對(duì)象繼承自原型對(duì)象的屬性,而后者只包括對(duì)象本身的屬性。

引言

說(shuō)到枚舉,可能很多人都會(huì)想到枚舉類(lèi)型,但在javascript對(duì)象中有一個(gè)屬性為可枚舉性,他是什么呢?

概念

可枚舉性(enumerable)用來(lái)控制所描述的屬性,是否將被包括在for...in循環(huán)之中。具體來(lái)說(shuō),如果一個(gè)屬性的enumerable為false,下面三個(gè)操作不會(huì)取到該屬性。
* for..in循環(huán)
* Object.keys方法
* JSON.stringify方法

enumerable “隱身術(shù)”
javascriptvar o = {a:1, b:2};

o.c = 3;
Object.defineProperty(o, "d", {
  value: 4,
  enumerable: false
});

o.d
// 4

for( var key in o ) console.log( o[key] ); 
// 1
// 2
// 3

Object.keys(o)  // ["a", "b", "c"]

JSON.stringify(o // => "{a:1,b:2,c:3}"

上面代碼中,d屬性的enumerablefalse,所以一般的遍歷操作都無(wú)法獲取該屬性,使得它有點(diǎn)像“秘密”屬性,但還是可以直接獲取它的值。

至于for...in循環(huán)和Object.keys方法的區(qū)別,在于前者包括對(duì)象繼承自原型對(duì)象的屬性,而后者只包括對(duì)象本身的屬性。如果需要獲取對(duì)象自身的所有屬性,不管enumerable的值,可以使用Object.getOwnPropertyNames方法

  

來(lái)自 搞起博客

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/91508.html

相關(guān)文章

  • 淺談 JS 對(duì)象之?dāng)U展、密封及凍結(jié)三大特

    摘要:嘗試刪除一個(gè)密封對(duì)象的屬性或者將某個(gè)密封對(duì)象的屬性從數(shù)據(jù)屬性轉(zhuǎn)換成訪(fǎng)問(wèn)器屬性,結(jié)果會(huì)靜默失敗或拋出異常嚴(yán)格模式。 擴(kuò)展特性 Object.isExtensible 方法 Object.preventExtensions 方法 密封特性 Object.isSealed 方法 Object.seal 方法 凍結(jié)特性 Object.isFrozen 方法 Object...

    ChristmasBoy 評(píng)論0 收藏0
  • JS凍結(jié)對(duì)象的《人間詞話(huà)》 完美實(shí)現(xiàn)究竟有幾層境界?

    摘要:王國(guó)維在人間詞話(huà)里談到了治學(xué)經(jīng)驗(yàn),他說(shuō)古今之成大事業(yè)大學(xué)問(wèn)者,必經(jīng)過(guò)三種之境界。其中談到中凍結(jié)一個(gè)對(duì)象幾種由淺入深的實(shí)踐。王國(guó)維已先自表明,吾人可以無(wú)勞糾葛。總結(jié)本文先后介紹了關(guān)于凍結(jié)一個(gè)對(duì)象的三種進(jìn)階方法。 王國(guó)維在《人間詞話(huà)》里談到了治學(xué)經(jīng)驗(yàn),他說(shuō):古今之成大事業(yè)、大學(xué)問(wèn)者,必經(jīng)過(guò)三種之境界。 巧合的是,最近受 git chat / git book 邀請(qǐng),做了一個(gè)分享。其中談到J...

    YorkChen 評(píng)論0 收藏0
  • JS凍結(jié)對(duì)象的《人間詞話(huà)》 完美實(shí)現(xiàn)究竟有幾層境界?

    摘要:王國(guó)維在人間詞話(huà)里談到了治學(xué)經(jīng)驗(yàn),他說(shuō)古今之成大事業(yè)大學(xué)問(wèn)者,必經(jīng)過(guò)三種之境界。其中談到中凍結(jié)一個(gè)對(duì)象幾種由淺入深的實(shí)踐。王國(guó)維已先自表明,吾人可以無(wú)勞糾葛??偨Y(jié)本文先后介紹了關(guān)于凍結(jié)一個(gè)對(duì)象的三種進(jìn)階方法。 王國(guó)維在《人間詞話(huà)》里談到了治學(xué)經(jīng)驗(yàn),他說(shuō):古今之成大事業(yè)、大學(xué)問(wèn)者,必經(jīng)過(guò)三種之境界。 巧合的是,最近受 git chat / git book 邀請(qǐng),做了一個(gè)分享。其中談到J...

    高勝山 評(píng)論0 收藏0
  • 【進(jìn)階4-2期】Object.assign 原理及其實(shí)現(xiàn)

    摘要:木易楊注意原始類(lèi)型被包裝為對(duì)象木易楊原始類(lèi)型會(huì)被包裝,和會(huì)被忽略。木易楊原因在于時(shí),其屬性描述符為不可寫(xiě),即。木易楊解決方法也很簡(jiǎn)單,使用我們?cè)谶M(jìn)階期中介紹的就可以了,使用如下。 引言 上篇文章介紹了賦值、淺拷貝和深拷貝,其中介紹了很多賦值和淺拷貝的相關(guān)知識(shí)以及兩者區(qū)別,限于篇幅只介紹了一種常用深拷貝方案。 本篇文章會(huì)先介紹淺拷貝 Object.assign 的實(shí)現(xiàn)原理,然后帶你手動(dòng)實(shí)...

    layman 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<