• ベストアンサー

動的変数は作れますか?

動的変数は作れるでしょうか? 不可能な場合、通常配列にするのが一般的でしょうか? ■呼び出し onClick="a(2)"; ■関数 function a(m){ test2 = "abc"; alert(test+m); } 期待する出力結果:abc は無理でした。以下が普通でしょうか? function a(m){ test[2] = "abc"; alert(test[m]); }

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

たとえば、evalをつかうとか <SCRIPT language="JavaScript"> function setVar(name,num,value){ eval(name+num+"=\""+value+"\"") } setVar("test",2,"abc"); alert(test2); </SCRIPT>

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • ai10
  • ベストアンサー率27% (3/11)
回答No.3

あぁ、たったいまスレ主の意図がわかった。 a(*) を実行すると、グローバルな変数 test* を作りたい というわけですね。 test+mとするとうまく表示してくれないからどうすればいいの? かと思った。 ちなみに、配列みたくするなら var test = {}; function a ( m ) {   test[m] = "abc"; } かな。

すると、全ての回答が全文表示されます。
  • arexis
  • ベストアンサー率66% (66/99)
回答No.1

とりあえず基本の方法で function a(m){ test2 = "abc"; alert( eval( 'test'+ m ) ); } が、オーソドックスですかね。

すると、全ての回答が全文表示されます。

関連するQ&A