首页 > 解决方案 > 如何在javascript中更改函数中传递的变量的值?

问题描述

在函数内部,我想更改由函数参数指定的全局变量的值。

A = 1;
B = 2;
C = 3;

function myFunction(variable) {
    variable += 10;
}

myFunction(A);
myFunction(B);
myFunction(C);

我正在寻找这些结果:

console.log(A);   // 11 expected
console.log(B);   // 12 expected
console.log(C);   // 13 expected

我无法通过 return 语句输出新值,因为它是在发布请求的回调函数中计算的。

如何做到这一点?

标签: javascript

解决方案


这是不可能的。这被称为shadowing,那是您的参数是全局变量以外的其他变量,因此 A inmyFunction与 A in 不同global

也许尝试使用内部函数运行apply()和使用会有所帮助this.variable


推荐阅读