我的情况如下。
var varable_1=10;
var variable_2=20;
.....
var variable_n=10000;
function update_varable(variable){
....some code.....
}
我需要通过调用update_variable('variable_1'); update_variable('variable_2')....等来更新每个变量。
有可能吗?
答案 0 :(得分:2)
如果要在函数update_variable
中传递变量,则需要删除示例中的引号。有很多方法可以做到,我发布一个简单的方法。您还可以在函数内传递多个变量。
演示 here
var varable_1=10;
var variable_2=20;
var variable_n=10000;
function update_variable(x){
x = 300 //some new value
return x;
}
和电话:
variable_1 = update_variable(varable_1);
(你的函数名在某些行上错过了“i”,它是“update_varable”)
^
missing "i"
答案 1 :(得分:1)
我认为数组更适合这项任务。
但如果您的变量名称类似于var1,var2,则可以将此代码与eval函数一起使用。varN:
var var1 = 10;
var var2 = 20;
function update_var(variable) {
return variable += 1;
}
function main() {
for (var i = 1; i < 3; i++) {
eval("var" + i + " = update_var(var" + i + ")");
eval("console.log(var" + i + ");");
}
}
答案 2 :(得分:1)
如果必须使用字符串作为更新函数的参数,可以在函数内部使用eval
来获取字符串后面的实数变量:
function update(varName) {
eval(varName + " += 1;");
}
答案 3 :(得分:1)
让我们看看这里的事实:
现在让我们看看算法:
function update(variable, value){
window[variable] = value;
}
您可以按照自己的意愿调用它:
update('variable_1', 450.25);
答案 4 :(得分:-1)
function update_varable(variable){
variable += 10;
return variable;
}