获取对象属性名的方法 Object.keys() 与 Object.getOwnPropertyNames() 与 for循环

获取一个对象的属性名有那么几种方法

 

假设有一个数组对象:

var arr = ['a','b','c'];

 

1.Object.keys()    

返回一个由给定对象的所有可枚举自身属性的属性名组成的数组

详细资料请移步:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

Object.keys(arr);//结果是 ["0","1","2"]

 

2.for循环

for(var p in arr){
    console.log(p);
}
// 结果是   
// 0
// 1
// 2

 

 

3.Object.getOwnPropertyNames()

返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性)组成的数组

详细资料请移步:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames

Object.getOwnPropertyNames(arr);//结果是 ["0", "1", "2", "length"]

 

分析:

Object.keys()和for循环只是单纯地列举出可枚举的属性名,而Object.getOwnPropertyNames()可以把不可枚举的属性名也获取得到。

 

posted @ 2016-05-16 19:06  Joy Ho  阅读(497)  评论(0编辑  收藏  举报