如何在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”等)
答案 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
执行相同的过程。