对象API总结
对象相关的API
Object.getPrototypeOf()
获取对象的原型Object.setPrototypeOf()
设置对象的原型Object.create()
以参数对象作为原型创建对象
Object.keys()
获取自身可遍历的所有键名Object.getOwnPropertyNames()
获取参数对象自身的所有自身属性的键名,不管是否可以遍历,不包含继承的属性Object.prototype.isPrototypeOf()
判断实例对象是否参数对象的原型Object.prototype.hasOwnProperty()
判断属性定义在对象自身还是定义在原型链上in
判断对象是否有某个属性,不管是自身的还是继承的for...in
获得对象的所有可遍历属性(不管是自身的还是继承的)
获取对象的所有属性(包括原型链)
function inheritedPropertyNames(obj) {
var props = {};
while(obj) {
Object.getOwnPropertyNames(obj).forEach(function(p) {
props[p] = true;
});
obj = Object.getPrototypeOf(obj);
}
return Object.getOwnPropertyNames(props);
}