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 );
}
我做错了什么?
答案 0 :(得分:3)
不是将a_0
,a_1
和a_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))