当前位置:  开发笔记 > 编程语言 > 正文

JavaScript中的原型继承

如何解决《JavaScript中的原型继承》经验,为你挑选了1个好方法。

我一直在观看Douglas Crockford在YUI剧院的演讲,我有一个关于JavaScript继承的问题......

Douglas给出了这个例子,表明"Hoozit"继承自"Gizmo":

function Hoozit(id) {
    this.id = id;
}
Hoozit.prototype = new Gizmo();
Hoozit.prototype.test = function (id) {
    return this.id === id;
};

他为什么要写Hoozit.prototype = new Gizmo()而不是Hoozit.prototype = Gizmo.prototype

这两者有什么区别吗?



1> Triptych..:

原因是使用Hoozit.prototype = Gizmo.prototype意味着修改Hoozit的原型对象也会修改Gizmo类型的对象,这不是预期的行为.

Hoozit.prototype = new Gizmo() 继承自Gizmo,然后单独离开Gizmo.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有