是否有任何其他方式來查找JavaScript對象的原型屬性。可以說我有這樣的。列出一個Javascript對象的所有原型屬性
function proton() {
this.property1 = undefined;
this.property2 = undefined;
};
proton.prototype = {
sample1 : function() {
return 'something';
},
sample2 : function() {
return 'something';
}
};
var my_object = new proton();
console.log(Object.keys(my_object));
返回[ 「property1」, 「property2」]
console.log(Object.getOwnPropertyNames(my_object));
返回[ 「property1」, 「property2」]
但我想打印什麼的原型屬性對象my_object。
[「SAMPLE1」,「SAMPLE2」]
爲了讓我看到對象,我需要CONSOLE.LOG(對象)的原型屬性和開發工具,我可以看一下對的屬性那個對象。
但是因爲我使用第三方庫如phaser.js,react.js,create.js 所以我不知道這個庫創建的對象的原型屬性列表。
Object是否有任何原型函數列出JavaScript對象的所有prototpye屬性?
這裏不是JS大師,有沒有什麼理由爲什麼訪問'__proto__'並將其轉換爲數組是一個壞主意?例如:var arr = Object.keys(my_object .__ proto __)。map(function(key){return my_object .__ proto __ [key]}); ' – Bassem
@BassemDy例如,'.__ proto__'就像'Object.getPrototypeOf'一樣,但不推薦使用,並且在幾個邊緣情況下不起作用。而且,只訪問原型鏈的一個級別可能不會讓你獲得所有的屬性。順便說一下,OP似乎對屬性名稱不感興趣,所以你可以省略'.map(...)' – Bergi