如何在javascript中使用字符串参数输入作为变量名?

时间:2011-05-22 21:26:57

标签: javascript

如何在Javascript中使用字符串参数输入作为变量名称的一部分?我想这样做是因为为所有字段定义getter和setter似乎很乏味......而大多数字段都有相似的名称。

例如,

var random = {
    this.input1_field : null,
    this.input2_field : null,
    set: function(name,field){
       this.name_field = field;   
    }
}

我希望name_field基于输入变量'name'是动态的。 (例如,name =“input1”或name =“input2”等)

2 个答案:

答案 0 :(得分:8)

this[name + "_field"] = field

你可以传入一个字符串并使用它。

this["input1_field"] === this.input1_field

答案 1 :(得分:1)

如果您的变量已声明为全局变量,则可以执行以下操作:

var myVar = 5;
var myString = "myVar";

function anyFunc(str){
    return window[str];
}

anyFunc(myString); // Outputs 5

如果此变量是本地变量,则可以使用指针this而不是window执行相同的过程。