Object對象與繼承
阿新 • • 發佈:2017-06-14
一個 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對象與繼承