1.Object.getOwnPropertyNames()
Object.getOwnPropertyNames
方法返回一个数组,成员是对象本身的所有属性的键名,不包含继承的属性键名。
Object.getOwnPropertyNames
方法返回所有键名
Object.keys
方法返回可枚举类型的键名
2.Object.prototype.hasOwnProperty()
用于判断对象某个属性是否在原型上
3.bject.getPrototypeOf()
bject.getPrototypeOf()
方法返回指定对象的原型(即, 内部[[Prototype]]
属性的值)
4.in运算符
in
运算符返回一个布尔值,表示一个对象是否具有某个属性。它不区分该属性是对象自身的属性,还是继承的属性
5.for...in运算符
获得对象的所有可枚举属性(不管是自身的还是继承的)
6.获得对象的所有属性
function inheritedPropertyNames(obj) { var props = {}; while(obj) { Object.getOwnPropertyNames(obj).forEach(function(p) { props[p] = true; }); obj = Object.getPrototypeOf(obj); } return Object.getOwnPropertyNames(props); }
时间: 2024-10-08 12:55:11