2012-06-09 147 views
0

這是一個快速問題,我希望你能幫助我。按字符串創建對象

如何使用字符串導航到對象?

如果我有這樣的:

var string = something; 

而且這樣的對象:

var this = { 
    something: { 
     other: "okay" 
    } 
}​; 

我怎樣才能再使用字符串來這樣做:

this.+string+.other 

哪會與以下內容相同:

this.something.other 

??也許不是一個快速的,但你知道我要去哪? :-)

+1

小心使用'this'作爲變量名稱。奇怪的事情將會發生,或者什麼都不會發生! – Hidde

回答

1

試試以下[]

var _this = { 
    something: { 
     other: "okay" 
    } 
}​; 

_this[string].other 

注:改變VAR名_thisvar this = <..something..>將拋出你的錯誤。另外this表示javascript中的正確執行對象/窗口對象。

+0

+1我也認爲使用'this'作爲變量名稱並不好。 – VisioN

+0

感謝您的快速回復。這些變量只是爲了舉例,但我應該更加小心:) –

1

使用方括號:

var this[something].other