我已经创建了一个具有对象高程的对象,但是当尝试使用数组访问它时,调试器指出它是未定义的。
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
答案 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
并没有多大意义,因为您永远不会将它们用于任何用途。
修复以上错误后,我看到一个矩形。不太清楚该程序的用途,但这至少可以解决您的错误。