为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我不使用Child.Prototype=Parent.Prototype而不是

为什么我不使用Child.Prototype=Parent.Prototype而不是

Cats萌萌 2019-07-12 15:19:15
为什么我不使用Child.Prototype=Parent.Prototype而不是Child.Prototype=新的父();用于Javascript继承?在继承的javascript中,我不理解这种行为,我一直看到它是这样定义的:function GameObject(oImg, x, y) {     this.x = x;     this.y = y;     this.img = oImg;     this.hit = new Object();     this.hitBox.x = x;     this.hitBox.y = y;     this.hitBox.width = oImg.width;     this.hitBox.height = oImg.height;}Spaceship.prototype = new GameObject();Spaceship.prototype.constructor = Spaceship;     function Spaceship(){     console.log("instantiate ship");     GameObject.apply(this, arguments);     this.vx = 0;     this.vy = 0;     this.speed = 3;     this.friction = 0.94;}但就我而言,这些台词:    this.hitBox.width = oImg.width;     this.hitBox.height = oImg.height;当我在我的宇宙飞船构造函数中做一个控制台日志(这个)时,我可以看到原语属性设置为“空间”而不是“游戏对象”,如果删除它们,则将其设置为“GameObject”。如果我用: Spaceship.prototype = GameObject.prototype;我对此不再有意见了。阻止我的原因是,我有另一个带有add()方法的对象,它用下面的代码检查GameObject的对象惰性: if(object instanceof GameObject)我不明白这两行可能会改变什么,这样当继承出现时,继承就会中断,而且我也不确定如何进行继承,第二种方式是好的。有人能告诉我这件事吗?)
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 575 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信