Javascript 是否可以在for循环中使用由数组值确定的变量名?
是否可以将数组变量值用作for循环中的新变量名(或者换句话说,公式的左侧是否可以由迭代中的预定义值确定)Javascript 是否可以在for循环中使用由数组值确定的变量名?,javascript,function,variables,for-loop,Javascript,Function,Variables,For Loop,是否可以将数组变量值用作for循环中的新变量名(或者换句话说,公式的左侧是否可以由迭代中的预定义值确定) for(变量i=0;i
for(变量i=0;i
显然,我在上面的代码片段中这样做的方式是,值
banana
总是被分配给变量name
。我不太确定如何处理这个问题?变量是全局对象(在浏览器:窗口中)或其他对象的属性。因此,您可以:
for (var i = 0; i < array.length; i++) {
window[array[i]] = '[something]';
}
for(变量i=0;i
或
var someObj={};
对于(var i=0;i函数myVar(val){
这个值=val;
}
var数组=新数组(新myVar(1)、新myVar(2)、新myVar(3));
对于(var i=0;i
请澄清您真正想要实现的目标。你的例子不清楚。将随机变量(香蕉)分配给函数中的局部变量(名称)有什么意义?什么是someVar(你为香蕉和someVar提供了零上下文)。也许我应该用不同的方式问这个问题。基本上我想要的是能够做一些事情,比如eval(someVar)=someValue
。可能吗@这没有道理。赋值语句的左侧应该有一个变量。看起来你已经明白了,谢谢!我在找这个。
for (var i = 0; i < array.length; i++) {
window[array[i]] = '[something]';
}
var someObj = {};
for (var i = 0; i < array.length; i++) {
someObj[array[i]] = '[something]';
}
function myVar(val) {
this.value=val;
}
var array=new Array( new myVar(1),new myVar(2),new myVar(3));
for (var i = 0; i < array.length; i++) {
example(array[i]);
alert(array[i].value); // now they are 0,0,0
}
function example(name) {
name.value = 0;
}