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

在该例子中,父类的构造函数不是也通过call()继承了吗,为什么不直接用new来继承。

在该例子中,说是父类的构造函数如果很庞大的话会影响性能,但是父类的构造函数不是也通过call()继承了吗,为什么不直接用new来继承。

正在回答

2 回答

直接new虽然也有继承的效果,但是子类本身会具有父类实例的方法,这是我们不需要的,所以不推荐这么写。其实也可以用subClass.prototype=Object.create(SuperClass.prototype)来实现继承。

0 回复 有任何疑惑可以回复我~

new是实例化,实例化一遍原型对象,问题是你需要原型对象的内容全部吗?通过call继承是可以指定某个方法,当然,既然是父类构造函数通过原型链引用其父类的方法不是更省事吗?

1 回复 有任何疑惑可以回复我~
#1

慕丝0026560 提问者

在本例子中直接通过call改变this指向运行了父类的构造函数了,那为什么还要另外写一个继承的函数来将构造函数变成空函数来继承其方法。
2017-08-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

在该例子中,父类的构造函数不是也通过call()继承了吗,为什么不直接用new来继承。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信