从原型中引用窗口对象

时间:2013-03-29 22:20:27

标签: javascript prototype

所以,我试图在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不存在? ?提前谢谢。

0 个答案:

没有答案
相关问题