考慮以下JavaScript片段,使用Javascript - 如何初始化超類,如果超類的構造函數採用參數
var SuperClass = function(x){
this.x = x;
this.a = 5;
};
var SubClass = function(x){
}
function IntermediateClass(){};
IntermediateClass.prototype = SuperClass.prototype;
SubClass.prototype = new IntermediateClass;
SubClass.prototype.constructor = SubClass;
現在,如果我創建子類的實例,對象將不會初始化屬性「一」和「 X」。
var object = new SubClass;
//object.a == undefined
//object.x == undefined
雖然我明白爲什麼會這樣,什麼是子類來執行的超類構造函數中完成初始化的乾淨的方式?
可能的重複[如何獲得一個構造函數從JavaScript中的構造函數繼承?](http://stackoverflow.com/questions/2263353/how-to-get-a-constructor-function-to-繼承java中的構造函數) – outis