Cal*_*ell 0 javascript variables
我有一个阵列
var n = ["Joe", "Peter", "Mary", "Chris", "Dave", "Sally", "Pat", "John", "Larry", "Andrew"];
Run Code Online (Sandbox Code Playgroud)
我想为数组中的每个字符串创建一个变量,即
var Joe;
var Peter;
var Mary;
Run Code Online (Sandbox Code Playgroud)
我为MatLab 遇到过这个问题,但有没有办法用Javascript做到这一点?
这是我怎么想这样做的小提琴,但显然它不起作用!
...有没有办法用Javascript做到这一点?
不是一般情况下,没有. (呃,见下文.)你可以用全局变量来做,像这样:
var index;
for (index = 0; index < n.length; ++index) {
window[n[index]] = /*...whatever value you want the global to have...*/;
}
Run Code Online (Sandbox Code Playgroud)
......但仅适用于全局(并且window是特定于浏览器环境,虽然它可能做一些类似的外部浏览器),并禁止一些非常具体的理由这样做,这不是一个好主意.
您可以为每个名称创建一个具有属性的对象:
var obj = {};
var index;
for (index = 0; index < n.length; ++index) {
obj[n[index]] = /*...whatever value you want the global to have...*/;
}
Run Code Online (Sandbox Code Playgroud)
...这基本上是全局变量的情况,但是有一个对象而不是全局变量.但是,除非你有充分的理由去做,否则没有什么意义(虽然它没有像创建一堆全局变量那样有害).
好吧,这不是很真实.你可以这样做:
var index;
for (index = 0; index < n.length; ++index) {
eval("var " + n[index]);
}
Run Code Online (Sandbox Code Playgroud)
这实际上会在当前范围内使用名称来创建变量n.我不推荐它.:-)
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |