为什么下面的代码给我一个 0 而不是 1?我希望我的函数更改在函数外部声明的变量,但我不想在函数声明中指定变量。
that = 0;
function go(input) {
input++;
}
go(that);
console.log(that);
最佳答案
正如 Oriol 所回答的那样,它不起作用,因为该变量是按值传递的,因此您没有更改“that”变量。解决方法是传递变量名称:
that = 0;
function test(input) {
window[input]++;
}
test("that");
console.log(that); // 1
关于javascript - 将全局变量传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18178728/