如何使用字符串设置局部变量
How can I set a local variable using a string?
我需要在函数的for循环中设置一个局部变量,但是这个var的部分名称需要是一个字符串,更具体地说是一个数组索引。
请参阅示例:
function MyFunction () {
var strings = ["first","second","third","fourth"];
for (var i = 0; i < strings.length; i++) {
var "My_" + strings[i] + "_var" = "Hi, I'm the " + strings[i] + " var!";
}
}
我知道这不是正确的方法,我只是在说明我想做什么。我已经尝试使用 window[]
或 this[]
,但似乎 var 变得全局。
一种方法是使用对象 您可以使用括号表示法将对象的变量名称设置为字符串
var obj = {};
var name = ['first'];
obj[name[0]]='whatever';
最后但不安全的方法是使用:
eval('var '+name+' = '+value+';');
Eval 将字符串评估为 javascript 命令,因此您可以使用动态创建变量的名称来组成变量。
相关文章:
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- Javascript使用变量设置属性
- Javascript用函数return替换局部变量
- 敲除js变量设置类似于调用函数
- 每次调用函数时,都要修改Javascript中的局部变量
- 局部变量在闭包中丢失
- 试图将一个局部变量传递给我的ngAside控制器
- jQuery.ajax()访问javascript循环中的beforeEnd局部变量
- 使用输入变量设置元素的值
- 为什么我们将控制器变量设置为等于“0”;这个“;在角度上
- 将外部控制器的范围变量设置为角度
- 为局部嵌套函数中的全局变量设置值
- 如何使用字符串设置局部变量
- 设置局部变量时非常奇怪的JavaScript行为
- 在JavaScript回调函数中设置局部变量
- 将default设置为模型中的局部变量将导致未定义
- 我可以设置一个局部变量为'this'在匿名回调函数中引用它
- 将Javascript局部变量设置为全局变量以实现递归循环
- 如何在mean.io中将用户名设置为所有视图可用的局部变量
- Javascript全局函数设置局部变量