有没有更好的方法让一个类从另一个类继承原型方法,并且仍然能够在继承的类上定义新的原型方法:
var ParentConstructor = function(){
};
ParentConstructor.prototype = {
test: function () {
console.log("Child");
}
};
var ChildConstructor = function(){
ParentConstructor.call(this)
};
ChildConstructor.prototype = {
test2: "child proto"
};
var TempConstructor = function(){};
TempConstructor.prototype = ParentConstructor.prototype;
ChildConstructor.prototype = new TempConstructor();
ChildConstructor.prototype.constructor = ChildConstructor;
var child = new ChildConstructor();
child.test();
console.log(child.test2)
console.log(child, new ParentConstructor());
这不起作用,因为test2
当我从ParentConstructor
.
我尝试过其他方法来扩展一个类的原型方法,其中一些原型道具来自其他类,但我每次都失败了,因为我找不到每次都不覆盖以前方法的方法。
我也尝试过var Child = Object.create(Parent.Prototype)
,但是当我定义新道具时,我失去了父道具。