我剛開始閱讀有關Javascript,我似乎無法找到這個問題的asnwer.Suppose我有一個函數稱爲test
和一個匿名函數分配給一個變量說temp
。我注意到,當我使用例2中的變量創建新對象實例時,沒有分配__proto__
?這是爲什麼使用新的變量分配了一個函數沒有分配__proto__
function test() {
this.name = "testerName";
}
var temp = function() {
this.name = "testeragain";
}
// Example 1:
var d = new test();
console.log(d.__proto__) //prints test{}
console.log(d.__proto__ == test.prototype) //Returns false ? shouldnt this
// Example 2:
var d = new temp();
console.log(d.__proto__) //prints {} ?Why is this?
我正在使用命令node test.js
因爲您的調試器選擇不命名它。注意,'d'都從它們各自的原型繼承而來 - 你將得到相同的結果'console.log(test.prototype); console.log(temp.prototype);' – Bergi
你應該使用'Object.getPrototypeOf(d)'。 '__proto__' getter已被棄用。 – Bergi
@Bergi我嘗試使用'Object.getPrototypeOf(d)',我得到相同的結果。那可能是因爲我使用節點來運行js文件? –