このように名前で変数を呼び出すことができます:
var name="a";
var a=4;
eval("alert("+name+")");//this will alert 4
しかし、evalは推奨されないと聞きました。evalなしで変数を名前で呼び出す方法はありますか?
このように名前で変数を呼び出すことができます:
var name="a";
var a=4;
eval("alert("+name+")");//this will alert 4
しかし、evalは推奨されないと聞きました。evalなしで変数を名前で呼び出す方法はありますか?
あなたは正しいです、eval
絶対にお勧めしません。一般的な方法は、それらをオブジェクトのプロパティにしてから、角括弧表記を使用してそれらにアクセスすることです。
var name = "a";
var myObj = {
a: 4
};
alert(myObj[name]);
これが実際の例です。
変数がグローバルである場合は実行できますがwindow[name]
、そうでない場合は実行できません。「変数変数」はPHPのものです。
これを行う場合は、プログラムを変更して、変数がオブジェクトに格納されるようにします。
var vars = {
a: 4
};
var name = "a";
alert(vars[name]);