javascript / jquery получить значение переменной [дубликата]

0

В javascript способ объявить var: var msg = 'hello', и просто вызвать msg получит значение "hello", если теперь у меня есть несколько var, например msg_1, msg_2... msg_n был бы способ получить значение, вызвав что-то вроде

for (var i = 0; i < n; i++)
{
 var var_name = 'msg_' + i;
 alert (var_name)?
}
Теги:

5 ответов

3

DEMO

for (var i = 0; i < 5; i++) {
    var var_name = 'msg_' + i;
    window[var_name] = i;
    console.log(window[var_name]);
}
  • 1
    Вы имеете в виду window[var_name] :-)
  • 0
    @RocketHazmat да ты :)
2

Вы должны поместить значения внутри массива.

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

for (var i = 0; i < n; i++)
{
    alert (messages[i])
}
2

Я бы предложил использовать array вместо того, что вы делаете.

var myVarialbes= [];
for (var i = 0; i < n; ++i) {
    myVarialbes[i] = "some stuff" + i;
}
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);
    }
}

Но почему вы не используете массивы?

0

Здесь вы получили простой способ:

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]);
}
  • 0
    если вы не понимаете, как это работает, не нажимайте -1

Ещё вопросы

Сообщество Overcoder
Наверх
Меню