如何判断一个对象的属性是实例属性还是原型属性呢?
1、hasOwnProperty():判断属性是否为实例属性,只有是实例属性时才返回true
2、in:如“name“ in person 判断person对象是否拥有name属性,无论name是实例属性还是原型属性。
以上二者结合可判断某个属性是实例属性还是原型属性。
如何获取某个对象的属性呢?
1、for in的形式,如:
for(var param in person){}
这样既可遍历person中的所有属性,包括实例属性和原型属性以及被实例属性屏蔽了的不可枚举的原型属性(constructor)也会被获取到
扫描二维码关注公众号,回复:
415126 查看本文章
2、Object.keys():传递一个对象为参数,获取可枚举的实例属性。
3、Object.getOwnPropertyNames():获取所有的实例属性,包括不可枚举的属性。