原文:JavaScript中in操作符(for..in)、Object.keys()和Object.getOwnPropertyNames()的區別

ECMAScript將對象的屬性分為兩種:數據屬性和訪問器屬性。每一種屬性內部都有一些特性,這里我們只關注對象屬性的 Enumerable 特征,它表示是否通過 for in 循環返回屬性,也可以理解為:是否可枚舉。然后根據具體的上下文環境的不同,我們又可以將屬性分為:原型屬性和實例屬性。原型屬性是定義在對象的原型 prototype 中的屬性,而實例屬性一方面來自己構造函數中,然后就是構造函數 ...

2017-10-17 11:04 2 13288 推薦指數:

查看詳情

JavaScriptObject.keysObject.getOwnPropertyNames區別

定義 Object.keys 定義:返回一個對象可枚舉屬性的字符串數組; Object.getOwnPropertyNames 定義:返回一個對象可枚舉、不可枚舉屬性的名稱; 屬性的可枚舉性、不可枚舉性 定義:可枚舉屬性是指那些內部 “可枚舉” 標志設置為 true 的屬性 ...

Sat Jan 20 02:19:00 CST 2018 0 1426
for in,Object.keysObject.getOwnPropertyNames區別

parent繼承自Object.prototype,有一個可枚舉的屬性a。下面我們在創建一個繼承自parent的對象child。 child有兩個屬性b和c,其中b為可枚舉屬性,c為不可枚舉屬性。 下面我們將用四種方法遍歷child對象,來比較四種 ...

Mon Apr 09 17:03:00 CST 2018 2 1403
Object.keys( )與 for in 區別

for in 一般用於對象的遍歷: Object.keys() 方法會返回一個由一個給定對象的自身可枚舉屬性組成的數組,數組屬性名的排列順序和使用 for...in 循環遍歷該對象時返回的順序一致 。 兩者之間最主要的區別就是Object.keys ...

Wed May 08 22:15:00 CST 2019 0 1196
for in 與 Object.keys 與 hasOwnProperty區別

1、結論 for in遍歷對象所有可枚舉屬性 包括原型鏈上的屬性 Object.keys遍歷對象所有可枚舉屬性 不包括原型鏈上的屬性 hasOwnProperty 檢查對象是否包含屬性名,無法檢查原型鏈上是否具有此屬性名 2、示例代碼 3、ESLINT對for in的限制 ...

Mon Aug 20 18:10:00 CST 2018 0 1135
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM