3.Object.keys() 取得对象中所有可枚举的属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.Object.keys() 取得对象中所有可枚举的属性相关的知识,希望对你有一定的参考价值。

 Object.keys() 取得对象中所有可枚举的属性

function Person(){

}
Person.prototype.name="summer";
Person.prototype.age=20;
Person.prototype.job="enginner";
Person.prototype.sayName=function(){
console.log(this.name);
}

var keys=Object.keys(Person.prototype);
console.log(keys); // ["name", "age", "job", "sayName"]

var p1=new Person();
p1.name="Bob";
p1.age=27;
var P1key=Object.keys(p1);
console.log(P1key); // ["name", "age"]

// 变量keys保存一个数组,数组中是字符串 "name", "age", "job", "sayName"
// 如果通过Person的实例p1,则数组中只有字符串 "name", "age"。

//如果想得到所有实例属性,无论是否可以枚举,可以使用 Object.getOwnPropertyNames()

var keys2=Object.getOwnPropertyNames(Person.prototype);
console.log(keys2); // ["constructor", "name", "age", "job", "sayName"]

//Object.keys,Object.getOwnPropertyNames都可以用来代替for-in循环,
// 支持的浏览器为IE9+,Firfox4+,Safari5+,Opera12+和Chrome
 

以上是关于3.Object.keys() 取得对象中所有可枚举的属性的主要内容,如果未能解决你的问题,请参考以下文章

是否可以获得对象的不可枚举的继承属性名称?

如何反射取得一个对象中所有字段的值

取得所有表

JavaScript:数组

es6对象的扩展

c# winform如何取得一个区域的所有控件对象