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

来源:4-7 提取出抽象父类

慕丝0026560

2017-08-06 00:26

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

写回答 关注

2回答

  • horistardust
    2017-08-27 12:14:27

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

  • qq_双鱼儿_0
    2017-08-06 16:18:56

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

    慕丝0026...

    在本例子中直接通过call改变this指向运行了父类的构造函数了,那为什么还要另外写一个继承的函数来将构造函数变成空函数来继承其方法。

    2017-08-06 17:31:41

    共 1 条回复 >

星级评分原理和实现(上)

本课程主要讲解如何使用不同的方式来实现星级评分的效果.

25809 学习 · 109 问题

查看课程

相似问题