-1
我正在使用下面的代碼。我的代碼出錯了。現在我得到「這是aB」,但我需要在我的輸出控制檯上構造相關的輸出。第一個是「這是aA」,第二個是「這是aB」,第三個控制檯是「這是aC」。多繼承控制檯輸出
function A() {
this.name = "A";
}
A.prototype.a = function() {
console.log("this is a"+this.name);
}
function B() {
this.name = "B";
}
B.prototype.b = function() {
console.log("this is b"+this.name);
}
function C() {
this.name = "C";
A.call(this);
B.call(this);
}
C.prototype = Object.assign({}, A.prototype, B.prototype);
C.prototype.constructor = C;
C.prototype.c = function() {
console.log("this is c"+this.name);
}
var x = new C();
x.a(); //this is aB
x.b(); //this is bB
x.c(); //this is cB
您引用的輸出不是該代碼的輸出。你已經展示了三次「aB」。事實上,輸出是'aB','bB'和'cB'(如果我們忽略了因爲記錄調用方法的結果而被記錄的未定義記錄,但這些方法不會返回任何東西)。 –
我已修復了上述評論中提出的問題,僅供參考。 –