使用 javascript 中的函数更新动态变量
update a dynamic variable using function in javascript
嗨,我需要帮助编写 javascript
我想使用函数更改动态变量,我的代码是这样的
var a=0;
var b=0;
function UpdateValue(Variable,x)
{
Variable=x;
}
UpdateValue(a,2);
UpdateValue(b,3);
console.log("a: ", a); //returns a: 0
console.log("b: ", b); //returns b: 0
我总是得到 0 个结果。变量不更新
我的函数的正确代码是什么?
这行不通,因为基元是在javascript中通过值传递的。因此,如果您作为参数传递,在函数中更改它不会影响传递的参数。
You should use arrays or objects because they are passed by reference.
点赞
var a=[0];
var b=[0];
function UpdateValue(Variable,x)
{
Variable[0]=x;
}
UpdateValue(a,2);
UpdateValue(b,3);
console.log("a: ", a); //prints a: [2]
console.log("b: ", b); //prints b: [3]
不可能。函数中的参数将引用与函数调用中的参数相同的值;函数无法在调用者中重新定义变量。如果变量是对象(或数组),则可以更改变量 contents。
您应该重新考虑为什么需要在内部上下文中重新分配外部上下文变量。这闻起来像 XY problem.
嗨,我需要帮助编写 javascript 我想使用函数更改动态变量,我的代码是这样的
var a=0;
var b=0;
function UpdateValue(Variable,x)
{
Variable=x;
}
UpdateValue(a,2);
UpdateValue(b,3);
console.log("a: ", a); //returns a: 0
console.log("b: ", b); //returns b: 0
我总是得到 0 个结果。变量不更新 我的函数的正确代码是什么?
这行不通,因为基元是在javascript中通过值传递的。因此,如果您作为参数传递,在函数中更改它不会影响传递的参数。
You should use arrays or objects because they are passed by reference.
点赞
var a=[0];
var b=[0];
function UpdateValue(Variable,x)
{
Variable[0]=x;
}
UpdateValue(a,2);
UpdateValue(b,3);
console.log("a: ", a); //prints a: [2]
console.log("b: ", b); //prints b: [3]
不可能。函数中的参数将引用与函数调用中的参数相同的值;函数无法在调用者中重新定义变量。如果变量是对象(或数组),则可以更改变量 contents。
您应该重新考虑为什么需要在内部上下文中重新分配外部上下文变量。这闻起来像 XY problem.