获取对象属性名的方法 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()
返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性)组成的数组
Object.getOwnPropertyNames(arr);//结果是 ["0", "1", "2", "length"]
分析:
Object.keys()和for循环只是单纯地列举出可枚举的属性名,而Object.getOwnPropertyNames()可以把不可枚举的属性名也获取得到。