How can I use string argument input as a part of variable name in a Javascript? I want to do that because it seems to be tedious to define getter and setter for all the fields... while most of the fields have similar names.
For example,
var random = {
this.input1_field : null,
this.input2_field : null,
set: function(name,field){
this.name_field = field;
}
}
where I want name_field to be dynamic based on the input variable 'name'. (ex, name="input1" or name="input2" etc)
How can I use string argument input as a part of variable name in a Javascript? I want to do that because it seems to be tedious to define getter and setter for all the fields... while most of the fields have similar names.
For example,
var random = {
this.input1_field : null,
this.input2_field : null,
set: function(name,field){
this.name_field = field;
}
}
where I want name_field to be dynamic based on the input variable 'name'. (ex, name="input1" or name="input2" etc)
Share Improve this question asked May 22, 2011 at 21:26 user482594user482594 17.5k23 gold badges76 silver badges114 bronze badges 1-
I don't think you can write
this.input1_field
like that. Surely that's a syntax error? And why to you want to define a getter and a setter? Sounds like a bad habit ing from Java. – Zecc Commented May 22, 2011 at 22:28
2 Answers
Reset to default 8this[name + "_field"] = field
You can just pass in a string and use it.
this["input1_field"] === this.input1_field
If your variable has been declared as global, you could do something like this:
var myVar = 5;
var myString = "myVar";
function anyFunc(str){
return window[str];
}
anyFunc(myString); // Outputs 5
If this variable is local, you could follow the same procedure using the pointer this
instead of window
.
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744143085a4560292.html
评论列表(0条)