【发布时间】:2013-07-25 12:52:12
【问题描述】:
我希望构造函数Paper 继承构造函数View。我读过需要有一个临时构造函数new F(),但是在我的代码中父类与子类原型一起被修改:
function View() {};
function Paper() {};
View.prototype = {
location: {
"city": "UK"
}
}
function F() {};
F.prototype = View.prototype;
Paper.prototype = new F();
Paper.prototype.constructor = Paper;
所以当我尝试修改Paper的原型时:
Paper.prototype.location.city = "US";
我发现View的原型也被修改了!:
var view = new View();
console.log(view.location); //US! not UK
那么我的代码有什么问题?如何在不影响父级的情况下覆盖原型?
【问题讨论】:
标签: javascript inheritance prototype