2

このように名前で変数を呼び出すことができます:

var name="a";
var a=4;
eval("alert("+name+")");//this will alert 4

しかし、evalは推奨されないと聞きました。evalなしで変数を名前で呼び出す方法はありますか?

4

2 に答える 2

4

あなたは正しいです、eval絶対にお勧めしません。一般的な方法は、それらをオブジェクトのプロパティにしてから、角括弧表記を使用してそれらにアクセスすることです。

var name = "a";
var myObj = {
    a: 4
};
alert(myObj[name]);

これが実際のです。

于 2012-04-30T15:01:04.420 に答える
1

変数がグローバルである場合は実行できますがwindow[name]、そうでない場合は実行できません。「変数変数」はPHPのものです。

これを行う場合は、プログラムを変更して、変数がオブジェクトに格納されるようにします。

var vars = {
    a: 4
};
var name = "a";

alert(vars[name]);
于 2012-04-30T15:00:52.820 に答える