我正在尝试在 JavaScript 中继承对象。看一下这个例子:
var BaseObject = function() {
};
var ChildObject = function() {
};
ChildObject.prototype.childMethod = function() {
};
ChildObject.prototype = new BaseObject();
ChildObject.prototype.constructor = ChildObject();
但是,一旦我进行原型(prototype)继承,childMethod() 就会消失。我在这里做错了什么?
最佳答案
当您将原型(prototype)分配给 BaseObject 并且 BaseObject 的原型(prototype)没有 childMethod 方法时,您正在覆盖原型(prototype)。
要获得所需的行为,您必须在将原型(prototype)分配给 BaseObject 后添加 childMethod:
var BaseObject = function() {
};
var ChildObject = function() {
};
ChildObject.prototype = new BaseObject();
ChildObject.prototype.constructor = ChildObject;
ChildObject.prototype.childMethod = function() {
return 'childMethod';
};
c = new ChildObject();
alert(c.childMethod());
关于javascript - obj.prototype = new ParentObj(); 之后的对象方法消失了在 JavaScript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3078759/