【发布时间】:2015-04-04 18:20:08
【问题描述】:
我在网上搜索到的关于原型继承的所有示例和问题都显示了原型在构造函数被调用之前的分配,很像下面的代码:
Object.beget = function (o) {
var F = function () {};
F.prototype = o;
return new F();
};
我的问题是,有没有办法改变一个 object(不是构造函数)原型,在它被实例化之后,我可以访问新的原型方法而不直接调用它,或者换句话说,对象继承它的新的原型方法?
编辑:
我想问题的重点可能不清楚,我对增强对象的原型不感兴趣,我真正想要的是一种分配新原型的方法,而无需更改与第一个具有相同原型的其他对象.
【问题讨论】:
-
与其试图劫持单个实例的原型,不如创建一个新的对象实例。
-
@zzzzBov 可以,但我不想将前一个对象的所有值传递给新对象。
-
这就是为什么经常看到
extend方法的原因。 jQuery has one 和 so does underscore。
标签: javascript inheritance prototype prototype-programming