2012-07-05 4 views
0

자바 스크립트 코드에 문제가 있습니다. 지금은 좀 더 복잡한 것들로 시작하고 있지만, 그물에 대한 해답을 찾는 것 같았지만, 불행하게도 그것을 고칠 수는 없습니다. 변수의 자바 스크립트 속성

내가 매개 변수를 얻을 수있는 변수 sGetMobileFieldValMob을 원하지만 이런 식으로 작동하지 않습니다 : : 문제는

var oFieldValues = { sGetMobileField:) { Value: ValMob } }; 

변수는 객체 속성으로 작동하지 않습니다. 아무도 내가 고칠 수있어?

감사합니다, 데인

답변

3

var oFieldValues = { }; 
oFieldValues[ sGetMobileField ] = { Value: ValMob }; 

당신은 속성 식별자로 변수를 사용할 수 있습니다 시도하지만 객체 리터럴 내부. 먼저 객체를 만들어야하고 다음을 사용하여 동적 속성을 추가해야합니다.

obj[ varToHoldPropertyName ] = someValue; 
+0

당신이 최고입니다. 고마워요! – Dane

0

먼저 구문이 올바르지 않습니다. 나는 sGetMobileField: 이후의 ")"가 오타라고 생각합니다. 그러나, 당신이 여기서 뭘하고있는 것은 "sGetMobileField"라는 속성이 설정됩니다 같은 이유로 정확히

var oFieldValues = { sGetMobileField: { Value: ValMob } }; 

을 그 Value 당신은에서 이름을 얻을 속성을에 "값"이라는 재산과하지를 설정하여 Value 변수. 일관성 있잖아, 맞지? 그래서 당신은 가질 것이다 :

console.log(oFieldValues.sGetMobileFields.Value) // the content of ValMob. 

다행스럽게도 점 표기법 대신에 대괄호 표기법을 사용할 수있다. 즉, 문자열을 사용하여 속성에 액세스 할 수 있습니다. 그래서, 예를 들면 : 당신은 액세스 개체의 속성을 지정하는 변수의 값을 사용할 수 있습니다, 따라서

console["log"]("Hello"); 

:

console.log("Hello"); 

은 동일하다. 귀하의 경우 :

var oFieldValues = {}; 

oFieldValues[sGetMobileField] = { Value: ValMob }; 

공지 보통 JS에서 사용되는 이름 지정 규칙을 다음, Valuevalue해야하며 ValMobvalMob을해야한다고.

관련 문제