怎么理解js中是原型链? 如何实现继承?实现继承的方式常用的有?

参考回答:

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

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

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

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

原型链继承

借用构造函数(call,apply)

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

原型式继承

寄生式组合式继承

延伸理解:

优缺点?

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

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

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

new 运算符具体干了什么?

1.创建一个空的对象

 

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

 

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

posted @ 2019-07-16 16:32  Mr_Javen  阅读(637)  评论(0编辑  收藏  举报