'Javascript'에 해당되는 글 1건

Javascript Closure를 이해한다고 생각했는데, 정확히 이해하고 잘 사용하는것이 아직은 안되는 것 같다.


이미지를 하나씩 로딩하는 객체를 만드는 과정에서 클로저를 사용해야만 했다.

처음에는 아래처럼 단순히 function 참조를 바로 연결해주었는데, 크롬에서는 정상 작동하는데, IE에서는 오류가 났다.

IE에서 실제로는 이미지 로드가 완료되지 않았는데, 함수가 호출되면서 이미지 로드가 끊기는 오류가 발생했다. 에휴..IE.....

그래서 단순하게 그럼 약간 지연시켰다가 호출해 보자라는 생각에, setTimeout에 클로저를 사용해서 호출해봤다.


IE 7,8 에서 오류......

오류 메시지는 아직 지원하지 않는 스크립트 기능이라나?... 참..나..


결국 아래와 같이 클로저를 수정해서 문제는 해결되었다.


this객체와 i 변수를 익명 함수에 던짐으로 변수를 참조하도록, 연결이 유지된 함수를 반환, 실행하도록 하였다.

클로저에 대해서 조금 더 이해할 수 있게 되는 계기였다.

블로그 이미지

설기아빠

,