JS中常用的继承方案


在前端开发中,我们离不开面向过程和面向对象这两种开发模式。面向过程是指分析出实现需求所需要的步骤,通过函数一步一步地实现这些步骤,接着依次调用。面向对象是指将整个需求按功能、特性划分,将这些存有共性的部分封装成对象,创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为。对于复杂的项目,我们经常会用到面向对象的方式来组织我们的代码。前人早已给我们总结了几种常用的继承方式,熟悉这几种继承方式,对于我们的日常开发会有很大的裨益。

在 ES5 中,JS 没有 class 类,JS 中的继承是通过原型的方式来实现的。先来看一个简单的示例图。

1、原型链继承

每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都会有一个原型对象的指针。