2015-08-14 78 views
0

我在我的网页顶部的未定义的对象:为什么此对象属性返回NaN?

var paddelY = {}; 

然后在抽签循环,我把它定义(否则我得到一个错误,mouseY的是未定义):

paddelY = { 
    1 : mouseY + height*0.03, //Nuber 
    2 : this[1] - height*0.00275 //NaN 
}; 

然而,如果我要将paddelY[2]登录到控制台,那将是NaN

+0

你在哪里定义的变量 “高度”? – bhspencer

+0

'this'不在paddelY对象上下文中 – Alexander

+0

在这种情况下,'this'将是您定义'paddleY'对象时的任何范围的引用,而不是'paddleY'对象本身。 – lemieuxster

回答

3

您正在定义一个新对象。 this[1]将不可用,直到整个对象被解析,所以你在做undefined - height,这导致NaN

paddelY = { 1 : mouseY + height *0.03 }; 
paddelY[2] = paddelY[1] - height*0.00275; 

会工作

+0

谢谢! – Manu