JavaScript学习笔记(三十四) 经典模式四-共享原型

来源:互联网 发布:嵌入式linux面试题 编辑:程序博客网 时间:2024/05/01 14:32

经典模式四-共享原型(Classical Pattern #4—Share the Prototype)

不像前面的经典继承模式需要调用两次parent构造函数,下面这个模式根本不需要调用parent构造函数。

经验法则复用的成员应该添加到原型(prototype)而不是this。因此为了继承这个目的,任何值得继承的东西都应该在原型中。
那么你可以设置child的原型和parent的原型一样:
function inherit(C, P) {    C.prototype = P.prototype;}
这样会得到一个短且快的原型链查找,因为所有的对象实际上共享一样的原型。但是这也是一个弊端,因为如果一个child或者grandchild修改了原型,它将会影响所有的parents和grandparents。

就像图6-7所示,child和parent对象共享相同的原型并且访问相同的say()方法。然而,children对象不会继承name属性。

原创粉丝点击