首页 > 代码库 > Object对象与继承

Object对象与继承

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);
}

 

Object对象与继承