理解js中是原型链? 如何实现继承?

JavaScript024

理解js中是原型链? 如何实现继承?,第1张

1.每个构造函数都有一个原型对象

2.每个原型对象都包含一个指向构造函数的指针

3.每个实例都包含一个指向原型对象的指针

4.查找方式是一层层向上查找直至顶层Object.prototype

1.原型链继承

2.借用构造函数(call,apply)

3.组合继承(原型链+构造函数)

4.原型式继承

5.寄生式组合式继承

每一种继承的方式都有自己的优缺点

组合继承的特点是会调用构造函数两次,

都是将多种继承方式组合到一起相辅相成.

1.创建一个空的对象

2.将空的对象的proto成员指向构造函数的prototype成员对象

3.调用构造函数将this指向前面创建的对象

1.原型链继承

特点:

非纯粹的继承关系,实例是子类的实例,也是父类的实例

父类新增原型方法/原型属性,子类都能访问得到

简单

缺点

要想为子类新增属性和方法,必须要在new Animal()这样的语句之后执行,不能放到构造器中

无法实现继承多个

来自原型对象的所有属性被所有实例共享

创建子类实例时,无法向父类构造函数传参

2. 构造继承:

特点:

缺点:

3.实例继承

特点:

缺点:

4.拷贝继承:

特点:

缺点:

5.组合继承:

特点:

缺点:

前端JS高阶面试题

前端设计模式-面试题

web前端之二叉搜索树

前端最常见的四种排序算法

web前端js框架有哪些