为什么这个对象属性返回NaN?

时间:2015-08-14 16:35:40

标签: javascript p5.js

我的页面顶部有一个未定义的对象:

var paddelY = {};

然后在绘制循环中,我定义它(否则我得到一个错误,即mouseY未定义):

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

但是,如果我要将paddelY[2]记录到控制台,则会NaN

1 个答案:

答案 0 :(得分:3)

您正在定义一个新对象。在整个对象被解析之前,A [1.0, 1.1, 1.2, 0.0, 11.0, 11.1, 11.2, 0.0, 0.0] B [0.0, 2.0, 2.1, 2.2, 0.0, 12.0, 12.1, 12.2, 0.0] C [0.0, 0.0, 3.0, 3.1, 3.2, 0.0, 13.0, 13.1, 13.2] 无法使用this[1],因此您正在执行undefined - height,这会产生NaN

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

会起作用