摘要:循環(huán)遍歷對象自身的和繼承的可枚舉屬性不含屬性。以上種方法遍歷對象的屬性時都遵守同樣的屬性遍歷次序規(guī)則。其次遍歷所有屬性名為字符串的屬性,按照生成時間排序。
遍歷對象
E S 6 一共有 5 種方法可以遍歷對象的屬性 。
for ... in
for . . . in 循環(huán)遍歷對象自身的和繼承的可枚舉屬性(不含 Symbol 屬性)。
Object.keys(obj)
Object . keys 返回 一個數(shù)組,包括對象自身的(不含繼承的 )所有可枚舉屬性(不含 Symbol 屬性)
Object . getOwnPropertyNames(obj)
Object . getOwnPropertyNames 返回 一個數(shù)組,包含對象自身的所有屬性(不含 Symbol 屬性,但是包括不可枚舉屬性)
Object.getOwnPropertySymbols(obj)
Object . getOwnPropertySymbols 返回 一個數(shù)組,包含對象自身的所有 Symbo l 屬性 。
Reflect .ownKeys(obj)
Reflect . ownKeys 返回 一個數(shù)組,包含對象自身 的所有屬性 , 不管屬性名是 Symbol 還 是字符串 , 也不管是否可枚舉 。
以上 5 種方法遍歷對象的屬性時都遵守同樣的屬性遍歷次序規(guī)則 。
首先遍歷所有屬性名為數(shù)值的屬性 , 按照數(shù)字排序 。
其次遍歷所有屬性名為字符串的屬性,按照生成時間排序。
最后遍歷所有屬性名為 Symbol 值的屬性 , 按照生成時間排序。
總結(jié)如下:
屬性類型 | for ... in | Object.keys(obj) | Object . getOwn-Property-Names(obj) | Object.getOwn-Property-Symbols(obj) | Reflect .ownKeys(obj) |
---|---|---|---|---|---|
原型鏈 | 是 | 否 | 否 | 否 | 否 |
Symbol | 否 | 否 | 否 | 是 | 是 |
不可枚舉 | 否 | 否 | 是 | 是 | 是 |
可枚舉 | 是 | 是 | 是 | 是 | 是 |
普通 | 是 | 是 | 是 | 否 | 是 |
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/101694.html
摘要:執(zhí)行函數(shù)會返回一個遍歷器對象,每一次函數(shù)里面的都相當一次遍歷器對象的方法,并且可以通過方法傳入自定義的來改變函數(shù)的行為。函數(shù)可以通過配合函數(shù)更輕松更優(yōu)雅的實現(xiàn)異步編程和控制流管理。它和構(gòu)造函數(shù)的不同點類的內(nèi)部定義的所有方法,都是不可枚舉的。 let const的命令 在ES6之前,聲明變量只能用var,var方式聲明變量其實是很不合理的,準確的說,是因為ES5里面沒有塊級作用域是很不合...
摘要:文章內(nèi)容分兩部分前半部分為迭代器模式概念后半部分為中迭代器上半部分開始迭代器模式提供一種方法順序訪問一個聚合對象中的各個元素,而又不需要暴露該對象的內(nèi)部表示。下半部分開始的迭代器迭代器等同于遍歷器。執(zhí)行該函數(shù),會返回一個遍歷器對象。 showImg(https://segmentfault.com/img/bVbuyaZ?w=800&h=600); 文章內(nèi)容分兩部分: 前半部分為 迭...
摘要:屬性的簡潔表示法在中允許直接寫入變量和函數(shù),作為對象的屬性和方法,使得代碼的書寫更為簡潔。循環(huán)遍歷對象自身的和繼承的可枚舉屬性不含屬性。返回一個數(shù)組,包含對象自身的所有屬性的鍵名。 showImg(https://segmentfault.com/img/remote/1460000019259004?w=1282&h=1920); 1. 屬性的簡潔表示法 在ES6中 允許直接寫入變量...
摘要:循環(huán)遍歷對象自身的和繼承的可枚舉屬性不含屬性。返回一個數(shù)組,包含對象自身的所有屬性的鍵名。目前,只有對象方法的簡寫法可以讓引擎確認,定義的是對象的方法。showImg(https://user-gold-cdn.xitu.io/2019/5/21/16ada8456223b0e1); 1. 屬性的簡潔表示法 在ES6中 允許直接寫入變量和函數(shù),作為對象的屬性和方法,使得代碼的書寫更為簡潔。...
摘要:函數(shù)的屬性中,代表形參即希望傳入的參數(shù)的數(shù)量,如等于中情況有所不同函數(shù)默認參數(shù)指定了默認參數(shù)后,函數(shù)的將返回沒有指定默認參數(shù)的參數(shù)的個數(shù)變量名參數(shù)也不會計入屬性類數(shù)組轉(zhuǎn)成真正數(shù)組的幾種方式中中可以將類似數(shù)組的對象和可遍歷的對象轉(zhuǎn)換為真正的 1.函數(shù)的length屬性 ES5中,length代表形參(即希望傳入的參數(shù))的數(shù)量,如function display(a,b,c){ / /} ...
閱讀 1561·2021-11-25 09:43
閱讀 2349·2019-08-30 15:55
閱讀 1472·2019-08-30 13:08
閱讀 2684·2019-08-29 10:59
閱讀 823·2019-08-29 10:54
閱讀 1595·2019-08-26 18:26
閱讀 2555·2019-08-26 13:44
閱讀 2659·2019-08-23 18:36