2011-02-23 4 views
0

this.prefixMonday [0] this.prefixMonday 이것이왜이 변수 참조가 작동하지 않습니까?

this.weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; 

for(var i = 0; i<7; i++){ 
    this['prefix' +this.weekdays[i] +'[0]'].on('check',this.someFunction, this); 
} 

방화범 그것을 찾을 수 없다고 패널의 연장의 initComponent 함수 법 내에 세 개의 체크 박스 배열되는 전류 범위에서 존재 이 [ '접두사'+ this.weekdays [I] + '[0]']

+0

'이'란 무엇입니까? –

+0

확장 내 initComponent – ppecher

+0

'this.prefixMonday [0]'을 (를) 선언하는 코드를 게시 할 수 있습니까? – Annabelle

답변

2

난 당신이 액세서해야 확신

this['prefix' +this.weekdays[i]][0] 

그렇지 않으면 자바 스크립트를 정확히와 키를 검색합니다 파업하다 ng 'prefixMonday [0]'및 나는 이것이 당신이 원하는 것이라고 생각하지 않습니다. 이 더 읽기 당신이 이름을 저장하는 도우미 변수를 사용할 수 있도록하려면

for(var i = 0; i<7; i++){ 
    var key = 'prefix' +this.weekdays[i]; 
    this[key][0].on('check',this.someFunction, this); 
} 
이 배열 참조가 내 것을

this['prefixWednesday[0]'] 

주처럼 보이는 뭔가를 만들 것

1
this['prefix' +this.weekdays[i] +'[0]'] 

문자열이므로 리터럴 텍스트로 '[0]'을 포함하는 키를 찾고 있습니다. 다음과 같은 형식을 사용하지 않으실 것이라고 확신하십니까?

this['prefixWednesday'][0]... 

대신에?

2

this.prefixMonday[0]this['prefixMonday[0]']과 동일하지 않습니다. this['prefixMonday'][0]과 같습니다. 시도하십시오

for(var i = 0; i<7; i++){ 
    this['prefix' +this.weekdays[i]][0].on('check',this.someFunction, this); 
} 
관련 문제