2012-01-22 4 views
0

나는 btnName에 경고 할 때 attr 이름을 가져 오지 않고 대신 btnName이라는 텍스트를 사용한다.JavaScript inset 변수를 대괄호로 바꾼다

var btnName = orderBtn.attr("name"); 
var obj = {btnName:true,json:1}; 

나는 이것이 가능하다고 확신한다.

+0

'obj'가 "btnName"(문자 그대로)을 속성의 이름으로 사용하고 있다는 것을 의미합니까? –

+0

예 Firebug에서 이것을 볼 때 –

답변

2
var btnName = orderBtn.attr ("name"); 
var obj = { json: 1 }; 
obj [btnName] = true; 
+0

과 동일합니다. 덕분에 해결되었습니다. –

3

는이처럼 쓸 필요가 :

var obj = {json: 1} 
obj[orderBtn.attr('name')] = true 

문자 표기법을 사용하여 객체를 구성 키로 (예 : 변수로) 식을 포함 할 수있는 방법은 없습니다.

var obj = {foo: 'bar'} 

은 본질적으로
var obj = {'foo': 'bar'} 

당신이 변수 foo 참조 할 경우

속기, 당신은 대괄호 표기법을 필요

var obj = {} 
obj[foo] = 'bar' 
0

를 사용하여 브래킷을 사용하면 변수를 사용하려는 경우 키로 :

var obj = { json: 1 }; 
obj[btnName] = true;