2012-01-31 3 views
1

객체 리터럴 이름에 점 표기법을 사용하고 싶지만 IE는 부분 '내'문 (아래에서 세 번째 문) 다음의 16 행에서 '예상': ''오류를 반환합니다. 이런 식으로 할 수있는 방법이 있어야합니다. 이 오류를 반환하는 이유는 무엇입니까?자바 스크립트 객체 리터럴 이름 규칙

<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

가 있습니다. – paislee

+0

어떤 버전의 IE입니까? – Jeff

+0

IE9, Chrome 16.0.912.77에서도 발생합니다. – jspring

답변

3

JavaScript에서는 []을 사용하여 연관 배열과 같은 객체를 처리 할 수 ​​있습니다. 이 속성을 이용하여 속성 이름에 동적으로 액세스 할 수 있습니다.

방법에 대해 : 라인은`16`이다

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

tmpArr.push(obj);