0

在javascript中,声明一个var的方法是:var msg = 'hello',如果我现在有多个var,例如msg_1,msg_2 ... msg_n 有没有办法通过调用类似的方法来获取值

for (var i = 0; i < n; i++)
{
 var var_name = 'msg_' + i;
 alert (var_name)?
}
4

5 回答 5

3

演示

for (var i = 0; i < 5; i++) {
    var var_name = 'msg_' + i;
    window[var_name] = i;
    console.log(window[var_name]);
}
于 2013-09-26T13:58:55.480 回答
2

您应该将值放在数组中。

var messages = ["first", "second", "third"];

for (var i = 0; i < n; i++)
{
    alert (messages[i])
}
于 2013-09-26T13:58:05.743 回答
2

我建议使用 toarray代替你正在做的事情。

var myVarialbes= [];
for (var i = 0; i < n; ++i) {
    myVarialbes[i] = "some stuff" + i;
}
于 2013-09-26T13:58:49.153 回答
0

Here you got a simple method:

var var_name=''; //declare variable only once
for (var i = 0; i < 5; i++) //You should change 5 to n
{
 var_name = 'msg_' + i;
 alert (var_name.split('_')[1]);
}
于 2013-09-26T14:06:09.747 回答
0
function do_test(){
    var v1 = "variable 1";
    var v2 = "variable 2";
    var v3 = "variable 3";
    for (i=1;i<4;i++){
        var o = eval("v"+i); // you actually need this
        alert (o);
    }
}

但是你为什么不使用数组呢?

于 2013-09-26T14:10:31.427 回答