如何修改用作参数的全局变量

时间:2017-09-28 15:59:07

标签: javascript function variables scope

有没有办法在函数体内更改用作函数参数的变量?例如:

var global = 1;

function modifyGlobal(arg) {
  arg = 2;
}

modifyGlobal(global);
console.log(global); // Results in 1

显然这段代码不起作用,但我想让console.log(全局)生成2,有效地改变全局变量。

编辑:在作为重复问题链接的答案中,它声明您不能在javascript中执行此操作,但是,在Eloquent JavaScript中,有一个练习要求完成此类事情,并提供正在运行的代码它:

var arrayValue = [1, 2, 3, 4, 5];
reverseArrayInPlace(arrayValue);
console.log(arrayValue);
// → [5, 4, 3, 2, 1]

因此,在这个例子中,他们将数组传递给它并直接修改该数组。根据询问通过引用传递变量的问题,答案意味着你不能这样做。

0 个答案:

没有答案