Javascript对象文字名称规则

时间:2012-01-31 23:42:51

标签: javascript object literals

我想在对象文字名称中使用点表示法但是IE在部分'my'语句(从底部开始的第3个)之后的第16行返回错误:“Expected':'”。必须有办法做这样的事情。为什么这会返回错误?

<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>

1 个答案:

答案 0 :(得分:3)

在JavaScript中,您可以使用[]将对象视为关联数组。您可以利用此功能动态访问属性名称。

怎么样:

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

tmpArr.push(obj);