我已经疯狂地用谷歌搜索了这个,我仍然不明白。
如果我设置子对象和父对象,如下所示:
var Child = function(name, toy)
{
this.toy = toy;
Parent.call(this, name);
}
var Parent = function(name)
{
this.name = name;
}
//Child.prototype = new Parent();
我不需要取消注释上面的行,以便能够得到以下结果:
var bobby = new Child("Robert", "Lego");
document.write(bobby.name + " " + bobby.toy);
//Result: Robert Lego
我(可能不正确)的理解是这条线
Child.prototype = new Parent();
将 Child 构造函数创建的原型设置为 Parent 构造函数创建的原型。因此,没有这条线,这条线
Parent.call(this, name);
(我认为调用 Parent 构造函数,将 this 上下文设置为 Child,并传入名称)实际上不应该工作。
我的理解有什么问题?
提前感谢您的帮助!:)