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
 
posted @ 2016-08-30 10:19  指间细碎流年  阅读(325)  评论(0编辑  收藏  举报