使用 $.extend() 进行原型继承?
也许这是一个疯狂的问题,但类似:
var MyPrototypeObject {
prop: 0;
};
var ob1 = Object.create(MyPrototypeObject);
var ob2 = {
meth: function() {
this.prop = 5; // update prop
return this.prop;
}
};
where Object.create< /a> 克隆原型,并使用 $.extend 添加其他方法ob1
,其中 this.prop
指向原型?添加新方法的最佳方式是什么?
$.extend(ob1, ob2);
相关:使用原型继承覆盖方法。
Maybe this is a crazy question, but something like:
var MyPrototypeObject {
prop: 0;
};
var ob1 = Object.create(MyPrototypeObject);
var ob2 = {
meth: function() {
this.prop = 5; // update prop
return this.prop;
}
};
where Object.create clones the prototype and $.extend is used to add additional methods to ob1
, where this.prop
points back to the prototype? What's the best way to add new methods?
$.extend(ob1, ob2);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
pd-style 类似,推荐
这是一种在 JavaScript 中处理 OO 的有效方法。请注意,$.extend 是一个糟糕的实现,因为它有一个 isPlainObject 检查,对于具有原型的对象返回 false
pd-style is similar and recommends
This is an effective way of handling OO in JavaScript. Note that
$.extend
is a shit implementation for doing this because it has anisPlainObject
check which returnsfalse
for objects that have prototypes