【发布时间】:2011-10-02 10:18:25
【问题描述】:
谁能告诉我这是否是有效的javascript?我知道你不能在 c# 中做这种事情,但 js 是一种更宽松的语言..
var arrayToUse = "arr" + sender.value;
for (i = 0; i <= arrayToUse.length; i++) {
// something..
}
具体来说——数组名的动态生成..
更新..
所以我有一个名为 arrMyArray 的数组,它在文档准备就绪时被初始化。 sender.value = "MyArray" - 但也可以是其他东西,例如 MyArray2
我想动态迭代由 sender.value 值指示的数组。
【问题讨论】:
-
什么是
sender.value?"arr" + sender.value分配在哪里? -
它只是从控件传递的一串文本。
-
嗯...
arrayToUse将是一个字符串,arrayToUse.length为您提供字符串的长度。arrayToUse不会神奇地成为一个数组。 -
是的,这是有道理的。那么有什么方法可以根据其字符串名称获取数组吗?
-
@Mrchief:你不需要使用 eval。只需使用
window['arr' + sender.value]。
标签: javascript dynamic strong-typing loose-typing