如何从另一个变量的值创建一个变量
问题描述:
我需要从另一个变量的值创建一个变量。作为一个例子,这将是类似我会怎么做这在VFP:如何从另一个变量的值创建一个变量
nameOfNextVar = "port_no_1";
eval(nameOfNextVar) = 7493
那我就可以说:
alert(port_no_1);
以及警报会给我7493 ...
这是可能的JavaScript?
TIA
丹尼斯
答
您可以使用JavaScript eval
方法尝试类似的方式。如果可能的话,应该避免使用eval
。
var nameOfNextVar = "port_no_1";
eval(nameOfNextVar + " = " + 7493);
alert(port_no_1);
另一种方法是定义对象或当前实例的属性。您也可以使用window
来定义变量或属性。
var nameOfNextVar = "port_no_1";
this[nameOfNextVar] = 7493;
alert(this.port_no_1);
window[nameOfNextVar] = 7493
alert(window.port_no_1);
答
作为一个经验法则,你应该尽量避免EVAL可能的情况下。但是,如果没有其他方式,那么你可以这样做:
nameOfNextVar = "port_no_1";
eval("var " + nameOfNextVar + " = 7493");
alert(port_no_1);
希望有所帮助。
与EVAL:重复http://stackoverflow.com/questions/592630/javascript-variable-variables – malletjo 2012-02-21 19:15:20