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);
}
私は間違っていますか?あなたは(evalのを使用する必要がjavascript - 静的な値と動的な値を組み合わせて既存の文字列の値を取得する方法
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);
}
私は間違っていますか?あなたは(evalのを使用する必要がjavascript - 静的な値と動的な値を組み合わせて既存の文字列の値を取得する方法
)
alert(eval('a_'+id));
のeval()は通常、しかし、お勧めしますが、それはあなたが達成しようとしているかに依存していません。
eval()は私が探していたものでした。私の質問に答える時間をとってくれてありがとう。 – Mickey
あなたがイベントソースを信頼する場合は、あなたがこれを行うことができます:
alert(eval('a_'+id))
ありがとうたくさん:) – Mickey
覚えている:eval is * evil *。また、どのようにあなたは改ざんされないonclickイベントソースを信頼できますか? – nybbler
サイトにフォーム入力がない場合は、私はそれを信じたいと思います。 – roufamatic
代わりのa_0
、a_1
、およびグローバル変数としてa_2
を宣言し、オブジェクトにそれらを置く:
var a_x = {
a_0: 0,
a_1: 0,
a_2: 0
}
その後次のようなプロパティにアクセスできます:a_x["a_" + id]
。代わりにA_1など、あなたのVARSのA_0に名前を付けるの
+1評価なしの素敵な解決策 – nybbler
@nybbler私は実際にその欠点を考慮します。私はまだ 'と'が何らかの形で使われることができるというこの気味悪い気持ちを持っています。 – sdleihssirhc
あなたは '付き合った 'ことについて冗談を言っていますか? – david
、配列
var a=[];
a[0]=a[1]=a[2]=0;
function onclick(id){
alert(a[id]);
}
私はちょうどそれを私の実際のものではないコードを入力していただきありがとうございます。 – Mickey
を使用する私も、アラート(A_ + id)を試みたのだが、 "A_" が定義されていないという。 – Mickey