无法读取未定义Processing.js的属性

时间:2018-12-30 20:56:21

标签: processing.js

我已经创建了一个具有对象高程的对象,但是当尝试使用数组访问它时,调试器指出它是未定义的。

var h = 30;
var disk = function(pos,elv){
    this.pos = pos;
    this.elv = elv;
    rect(56 * pos, 369-pos * h + h, 95, h, 2);
};
var disks = [
    {position:1,
    elevation:1},
    {position:1,
    elevation:2},
    {position:1,
    elevation:3},
    {position:1,
    elevation:4},
    {position:1,
    elevation:5},
    {position:1,
    elevation:6}
];
fill(0, 136, 255);
for(var i = 0; i<= 6; i++){
    var diskNum = disks[i];
    disk(1,diskNum.elevation);
}
};

我希望程序在彼此上方绘制矩形,但是程序显示“无法读取未定义的属性高程”。 https://www.khanacademy.org/computer-programming/new-program/5983920391094272

1 个答案:

答案 0 :(得分:0)

iris数组中有6个元素,分别位于索引0、1、2、3、4和5。

然后,您可以使用此disks循环遍历它们:

for

由于您使用的是for(var i = 0; i <= 6; i++){ 运算符,因此它总共包括7个索引:0、1、2、3、4、5和6。

您可能只想使用<=运算符。

还请注意,存储<this.pos并没有多大意义,因为您永远不会将它们用于任何用途。

修复以上错误后,我看到一个矩形。不太清楚该程序的用途,但这至少可以解决您的错误。