很明显,我的功能之一不像预期的那样。
我有这个小代码:
var snakeHead = [5,0];
var snakeBody = [[4,0], [3,0], [2,0], [1,0], [0,0]];
function SnakeMovement(){
console.log(snakeBody);
for (var i=0; i<snakeBody.length; i++){
if(i==0){
snakeBody[i][0] = snakeHead[0];
snakeBody[i][1] = snakeHead[1];
} else {
snakeBody[i][0] = snakeBody[i-1][0];
snakeBody[i][1] = snakeBody[i-1][1];
}
}
console.log(snakeBody);
}
SnakeMovement();
以某种方式,第一个console.log()
返回数组,就像它已经被for
循环更改一样,因此两个console.log()
都给我相同的结果。
我想知道为什么会发生这种情况,当然还有解决方法。
谢谢。