個人的な要約:
1.for ...トラバーサルにオブジェクトとそのプロトタイプに可算財産であります
アレイで得2.Object.keysは、オブジェクト自体がプロトタイプに列挙しない特性を含む、属性を列挙することができます
アレイで得3.Object.getOwnPropertyNames、オブジェクト自体が列挙特性および列挙ではありません
機能人(){
this.name = 'トム' //列挙
this.age = 24 // enumrable
this.c =関数(){// enumrable
console.log( '1')
}
}
People.prototype.look =関数(){// enumrable
console.log(「これを見て」)
}
VaRのB =新しい人々()
bは属性を列挙されていないとして//利用Object.definePropertyは「セックス」を追加します
Object.defineProperty(B 'セックス'、{
値:「女」
//列挙:Object.definePropertyで偽列挙デフォルトはfalseで、で、
})
/ **
*共通属性名、年齢は、cが対象です(デフォルト可算)
*プロトタイプオブジェクトを見(デフォルト可算)
*セックスを列挙することはできません
* /
//オブジェクトをナビゲート中に列挙することができますのための属性
(Bでのvar I){用
console.log(I)
}
console.log( '==================')
アレイが得られる// 2つObject.keys、コンテンツ自体は、列挙属性は属性列挙プロトタイプを含みません
console.log(Object.keys(b)参照)
console.log( '==================')
アレイが得られる// 3、Object.getOwnPropertyNames、(プロトタイプの内容を含まない)内容(列挙しない列挙を含む)すべてのプロパティ
console.log(Object.getOwnPropertyNames(b)参照)
結果: