2012-01-31 59 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);