2012-07-10 86 views
0

我想動態訪問Javascript對象。javascript:通過變量訪問對象屬性

例子:

example: { 
    name: "dev.pus", 
    year: 2012, 
    os: "linux" 
} 

這不是什麼新的東西。現在你通常可以通過以下方式訪問「示例」的屬性:

console.log(example.name); 
// or 
console.log(example.year); 

但是,如果我想動態地使用該屬性,該怎麼辦? 例如,另一個變種(讓我們假設用戶設定的話)應該決定我們想要的屬性:

var = "name"; 
console.log(example.var); // error 
console.log(example[var]); // error 

什麼是要走的路?

+10

'例如[變量]'應該工作。你只是選擇變量名歷史上最糟糕的名字......'var'是Javascript中的一個保留關鍵字。 – TheZ 2012-07-10 07:41:15

+0

順便說一句,不要用軟件包或新的或功能來替換var :) – PEM 2012-07-10 07:47:57

回答

3

你的例子應該工作,如果你會改變你的變量名(var是保留的)。

var key = 'name'; 
console.log(example[key]); 

您還可以重複你的對象來獲取所有的鍵:

http://jsfiddle.net/bC9XJ/

+0

嗨,我已更新該帖子。一開始我以爲這是一個JavaScript問題,但現在這似乎與jQuery有關。也許你還記得另一個線程的模式;) – 2012-07-10 10:34:18

+0

@ dev.pus:我想你應該寫一個新的問題.. – 2012-07-10 11:20:04