2012-01-31 66 views
1

我想在對象字面名中使用點符號,但IE在部分'my'語句(底部第三個)後返回錯誤:「Expected':'」在第16行。必須有一種方法來做這樣的事情。爲什麼這會返回一個錯誤?Javascript對象字面名稱規則

<script language="javascript"> 
var my = {}; 
my.dataGridColumns = []; 
var tmpArr = [];  
var columnData = []; 

columnData.push("a"); 

my.dataGridColumns.push({ 
    id: 1, 
    name: test 
}); 

tmpArr.push({ 
    my.dataGridColumns[0].name: columnData[0] 
}); 
</script> 
+0

請注意其中線'16'是。 – paislee 2012-01-31 23:44:50

+0

哪個版本的IE? – Jeff 2012-01-31 23:45:21

+0

IE9,也發生在Chrome 16.0.912.77。 – jspring 2012-02-01 15:00:08

回答

3

在JavaScript中,您可以使用[]來處理像關聯數組這樣的對象。您可以利用此功能動態地訪問屬性名稱。

如何:

var obj = { }; 
obj[my.dataGridColumns[0].name] = columnData[0]; 

tmpArr.push(obj);