在javascript中,聲明一個var的方法是:var msg ='hello',它只是簡單地調用msg將得到'hello'的值如果我現在有 一些var,例如msg_1,msg_2 ... msg_n是否有辦法通過調用類似於javascript/jquery得到一個變量的值
for (var i = 0; i < n; i++)
{
var var_name = 'msg_' + i;
alert (var_name)?
}
在javascript中,聲明一個var的方法是:var msg ='hello',它只是簡單地調用msg將得到'hello'的值如果我現在有 一些var,例如msg_1,msg_2 ... msg_n是否有辦法通過調用類似於javascript/jquery得到一個變量的值
for (var i = 0; i < n; i++)
{
var var_name = 'msg_' + i;
alert (var_name)?
}
您應該將值放入數組中。
var messages = ["first", "second", "third"];
for (var i = 0; i < n; i++)
{
alert (messages[i])
}
我建議使用array
而不是你在做什麼。
var myVarialbes= [];
for (var i = 0; i < n; ++i) {
myVarialbes[i] = "some stuff" + i;
}
for (var i = 0; i < 5; i++) {
var var_name = 'msg_' + i;
window[var_name] = i;
console.log(window[var_name]);
}
你的意思是'window [var_name]':-) –
@RocketHazmat是啊ty :) –
在這裏,你有一個簡單的方法:
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]);
}
如果你不明白它是如何工作的不要點擊-1 – opuhliyvladyslav
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);
}
}
但是你爲什麼不使用數組?
'eval()'。攻擊者會討厭 – Johan
使用[array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)而不是 –
如果它是全局'alert(window [var_name])' 。 –