1. 程式人生 > >Object對象與繼承

Object對象與繼承

一個 urn 包含 tro 運算符 內部 繼承 proto var

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對象與繼承