2011-05-22 76 views
2

如何在Javascript中使用字符串參數輸入作爲變量名稱的一部分?我想這樣做,因爲它爲所有字段定義getter和setter似乎很乏味......而大多數字段都有相似的名稱。如何在javascript中使用字符串參數輸入作爲變量名?

例如,

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

在我想要name_field基於輸入變量「姓名」是動態的。 (例如,NAME = 「輸入1」 或名稱= 「輸入2」 等)

+0

我不認爲你可以這樣寫'this.input1_field'。當然,這是一個語法錯誤?爲什麼你想要定義一個getter和setter?聽起來像來自Java的壞習慣。 – Zecc 2011-05-22 22:28:19

回答

8

this[name + "_field"] = field

你可以只傳遞一個字符串,並使用它。

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

1

如果您的變量聲明爲全局的,你可以做這樣的事情:

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

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

anyFunc(myString); // Outputs 5 

如果這個變量是本地的,你可以使用指針this遵循相同的程序,而不是window

相關問題