JavaScript - как объединить статическое значение и динамическое значение, чтобы получить значение существующей строки - PullRequest
1 голос
/ 28 января 2011
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 ]

3 голосов
/ 28 января 2011

Вместо того, чтобы объявлять a_0, a_1 и a_2 как глобальные переменные, поместите их в объект:

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

Затем вы можете получить доступ к таким свойствам, как это: a_x["a_" + id].

2 голосов
/ 28 января 2011

вместо того, чтобы называть ваши переменные a_0, a_1 и т. Д., Используйте массив

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

function onclick(id){
  alert(a[id]);
}
1 голос
/ 28 января 2011

Вам нужно использовать eval ()

alert(eval('a_'+id));

eval () обычно не рекомендуется, но зависит от того, чего вы пытаетесь достичь.

0 голосов
/ 28 января 2011

Если вы доверяете источнику события, вы можете сделать это:

alert(eval('a_'+id))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...