所以,我试图在JavaScript中获得原型的一些牵引力,我开始尝试基本上像第二个例子中的 Understanding prototypal inheritance in JavaScript。 目前,我有一堆函数,如果我用C ++编写,肯定希望从父类继承;想象一堆像
这样的函数function specificDevice(){
this.codeNumber = 'abc123';
this.wrapperDiv = window.parameters.dashboardDiv;
}
我有一大堆这些功能,一切都运行良好 - 但代码有点愚蠢,因为他们都分享了很多成员从一个到另一个切割和粘贴。所以,根据上面的链接,我做了类似
的事情function generalDevice(){
this.codeNumber = 'abc123';
}
specificDevice.prototype = new generalDevice();
function specificDevice(){
this.wrapperDiv = window.parameters.dashboardDiv;
//just to check if this does what I think it does:
alert(this.codeNumber);
alert(this.wrapperDiv);
}
当我创建specificDevice
的新实例时,警报正好吐出我所期望的 - 'abc123',以及我之前定义为window.parameters.dashboardDiv
的任何内容 - 完美!但是,然后,我尝试做我认为从window
对象中拉出的成员变量的完全相似的东西;以上现在变为:
function generalDevice(){
this.codeNumber = 'abc123';
this.wrapperDiv = window.parameters.dashboardDiv;
}
specificDevice.prototype = new generalDevice();
function specificDevice(){
alert(this.wrapperDiv)
}
灾难 - 脚本失败了
'Cannot read property "dashboardDiv" of undefined'.
我希望这个问题对于专家来说是显而易见的 - 为什么我可以创建一个快乐地识别我的window.parameters
作为事物的对象,但该对象的原型认为window.parameters
不存在? ?提前谢谢。