0
可能重複:
Why is it necessary to set the prototype constructor?正在設置正確的JS繼承所需的'構造函數'屬性?
我掙扎理解構建一個層次時,一個JavaScript對象的構造函數「屬性設置爲子類的必要性。我發現下面的代碼在不改變構造函數屬性的情況下做了什麼,但幾乎在所有關於構造函數被明確設置的主題中找到了引用。我錯過了什麼嗎? (我沒有在ECMAScript規範中明確使用它)。
A = function() {
this.value = "a";
this.A = function() {
window.alert(this.value + " instanceof A : " + (this instanceof A));
}
}
B = function() {
this.value = "b";
this.B = function() {
window.alert(this.value + " instanceof B : " + (this instanceof B));
}
}
B.prototype = new A();
test = function() {
var b = new B();
b.A();
b.B();
}
這是唯一需要設置如果你的代碼有一些使用它的期望,'constructor'屬性。我個人覺得它完全沒用。 –
@TimDown不一定是你的代碼,iirc,es5-shim需要爲'getPrototypeOf'設置構造函數屬性。 – Esailija
那不是一個適當的填充。 –