>  기사  >  웹 프론트엔드  >  Javascript 루프 변수는 DOM 이벤트를 등록합니다 - 강력한 closure_javascript 기술

Javascript 루프 변수는 DOM 이벤트를 등록합니다 - 강력한 closure_javascript 기술

WBOY
WBOY원래의
2016-05-16 18:20:061091검색

오늘 이 문제가 발생했습니다:

코드 복사 코드는 다음과 같습니다:

//pseudocode
for (var i=0; iaddEvent(obj[i], "click", func(i))
}

결과가 나타납니다. i=n일 때 모든 DOM 이벤트가 등록되었습니다. 일부 정보를 확인한 결과 이는 루프 프로세스 중에 변경되었다고 하며 이에 따라 등록된 이벤트도 변경되었습니다.

코드 복사 코드는 다음과 같습니다.

for (var i=0; i< ; n; i ) {
(function (i){addEvent(obj[i], "click", function (){func(i);});})(i)

변수에 대한 지속적인 참조를 유지하기 위해 bipack을 사용하면 매우 강력합니다!
(더 좋은 방법이 있다면 알려주세요(*^__^*) 히히...)
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.