function inheritPrototype(subType,superType){
var prototype=object(superType.prototype); //创建父类原型的一个副本 等同于使用Object.create(superType.prototype)
prototype.constructor=subType; //为副本添加constructor属性,弥补重写原型而失去的constructor属性
subType.prototype=prototype; //将创建的对象(副本)赋值给子类的原型
}
第一段中不是创建一个superType副本吗?它不是重写了superType的constructor属性吗?为什么第二段prototype.constructor=subType而不是等于superType?
WeberYang
相关分类