尝试为数组(或变量)赋予新值时遇到问题。在函数内部,我想在执行函数时为参数指出的变量赋予一个新值。
var a = 0;
var b = 0;
function editvariable (target, newValue) {
var target = newValue;
}
editvariable(a, 4);
在这个例子中,我想将a
的值更改为4,但它只会创建一个名为target的新函数。
答案 0 :(得分:1)
a
是在函数范围之外定义的,因此您只需设置a = newValue
但是你为什么要为一个简单的赋值语句做一个函数呢?
如果确实希望target
重新分配a
,则您必须返回结果。
var a=0;
var b=0;
function editvariable(target,newValue){
target=newValue;
return target; //return the assignment
}
a = editvariable(a,4)
答案 1 :(得分:0)
var target=newValue;
只需删除var
。