javascript - 变量自行改变

标签 javascript variables

我在尝试用 js 编写贪吃蛇游戏时遇到了一个小问题。

我有这个功能:

function move() {

    var aux = [];
    aux = snake.position[snake.position.length - 1];
    console.log(aux);

    if (snake.direction == 'r') {
        snake.position[snake.position.length - 1][1] += 1;
    };

    console.log(aux);
    //updateSnake();
    snake.position[snake.position.length - 2] = aux;
    updatePosition(snake.position);
};

问题是 aux 正在改变自己,而我没有对其做任何事情,正如你所看到的。第一个 console.log 的值与第二个不同!我并不是在改变它的原型(prototype)。

你们能帮我吗?

最佳答案

if (snake.direction == 'r') {
    snake.position[snake.position.length - 1][1] += 1;
}

上面的行改变了数组aux。第一个 console.log() 返回 [10,12],如上面注释中所述。之后,if 语句递增 snake.position[snake.position.length - 1][1],这是变量的值。第二次调用 console.log() 时,变量 aux 的计算结果为 [10,12+1],相当于 [10,13] ,这是预期的结果。

关于javascript - 变量自行改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42874469/

相关文章:

linux - 打印包含命令的变量

动态调用带有可变参数的函数

c# - 如何在 .aspx 页面中调用 csharp 变量?

variables - Tensorflow 节点可以有别名吗?

javascript - 在 Handlebars 模板上声明数据表

javascript - 在选择下拉菜单中隐藏文件扩展名 (html/css)

javascript - Angular 2 - NgFor 不更新 View

php - simplexml_load_file ('$variable' ) - 来自 mysql 的变量 url

javascript - 如何从 CKEditor 的工具栏中仅删除一项?

javascript - 使用 React 从另一个组件添加到组件