JavaScript中的两种继承方式

72 阅读1分钟

1. 使用原型链继承

子函数想要继承父类的原型,则需要子函数.prototype.__proto=父函数.prototype但是__proto被大多数浏览器ban了 则需要new来帮助绑定父函数的原型

格式为:

子函数.prototype=new 父函数()

如果父函数中有构造函数 则需要声明一个新函数等于父函数中的原型 再使用new

格式为:

function f(){

//空

}

f.prototype=父函数.prototype

因为new 的是会执行以下五种操作:

1.构建临时对象

2.将this指向临时对象

3.绑定原型 this.__proto=构造函数的prototype

4.执行构造函数

5.返回临时对象 return

在这里我们只需要第3步骤 所以要消除第4步骤带来的负面影响,如果父类没有构造函数 则可以直接进行 new

2. 使用class继承

使用extends关键字实现继承。