functionStickman(){
//some methods and properties
}
functionJuniorStickman(){
Stickman.call(this);
this.p =new value // override a property in Stickman
}
JuniorStickman.prototype =new Stickman();
junior =new JuniorStickman();
call方法的作用,就像别的语言的super方法。但JuniorStickman.prototype =newStickman();是干嘛的,call方法已经让子类继承了父类所有的方法呀,还要他干嘛?
原来它是继承父类的原型链的。但这种写法也不行。
如果Stickman有很多参数,那是不行的。
JuniorStickman.prototype =Object.create(Stickman.prototype);就可以了
本文解析了JavaScript中使用call方法实现继承的原理,并介绍了如何正确设置子类的原型来确保继承父类的方法和属性。
588

被折叠的 条评论
为什么被折叠?



