老师帮忙解惑一下,谢谢

来源:3-13 面向对象(二)

qq_安静先生_03717455

2018-09-11

面向对象这一节都能理解。只是我这里还有一个疑问,优化方案一中:Child.prototype = Parent.prototype;这是浅复制,引用的都是Parent中的prototype,所以子类修改会影响到父类。优化方案二中用Object.create(Parent.prototype)创建一个父类的原型赋予子类,同样子类就会拥有一份自己的原型,内存被多开辟了,这样和直接定义在构造函数本身,用call或apply来继承貌似没有区别,这会不会失去了封装的意义和原型链继承的初衷?还望老师帮忙解惑~

写回答

1回答

快乐动起来呀

2018-09-11

这个不冲突呀,通过create就是利用了原型链,call和apply不是继承的实现方式,只是改变了this从而达到函数中声明的属性在构造函数中执行了一遍,

0
0

前端跳槽面试必备技巧 面试官全流程指导

一门让你能成功获取前端 Offer 的课程, 不只是技术,面试“技巧”也至关重要

4836 学习 · 830 问题

查看课程