JQuery for loop& array - 为什么这个变量未定义?

时间:2016-11-30 16:20:41

标签: javascript jquery arrays for-loop

我正在关注蛇游戏教程。我在'paint()'函数中放入'snake_array.pop()'for-loop来查看会发生什么,我试图理解为什么我会收到以下错误:

“未捕获的TypeError:无法读取未定义的属性'x'”

我不明白为什么'x'未定义。 paint()for循环的最后一次迭代使得c = snake_array [2],而snake_array [2]是{x:2,y:2}。那么为什么它声明x未定义?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas id="canvas" width="450" height="450"></canvas>
{{1}}

1 个答案:

答案 0 :(得分:1)

设置变量tail时,将从数组中删除元素。该数组在下一行中引用:var c = snake_array[i];

这意味着对于for循环的最后一次迭代,c引用空数组中索引i的对象!没有找到任何东西,因此未定义错误。