javascript - 如何组合静态值和动态值以获取现有字符串的值

时间:2011-01-28 04:37:44

标签: javascript string concatenation

var a_0, a_1, a_2 = 0;

function onclick( id ) { 
   // id is either 0,1 or 2

   // echos 'a_0', 'a_1' or 'a_2', but I need it to echo "0".
   alert( 'a_' + id ); 
}

我做错了什么?

4 个答案:

答案 0 :(得分:3)

不是将a_0a_1a_2声明为全局变量,而是将它们放在一个对象中:

var a_x = {
    a_0: 0,
    a_1: 0,
    a_2: 0
}

然后您可以访问以下属性:a_x["a_" + id]

答案 1 :(得分:2)

而不是命名您的变量a_0,a_1等,使用数组

var a=[];
a[0]=a[1]=a[2]=0;

function onclick(id){
  alert(a[id]);
}

答案 2 :(得分:1)

您需要使用eval()

alert(eval('a_'+id));
但是,通常不推荐使用eval(),但这取决于你想要达到的目标。

答案 3 :(得分:0)

如果您信任该事件源,则可以执行以下操作:

alert(eval('a_'+id))