메뉴 건너뛰기

조회 수 98 댓글 1

var myImg = document.getElementById("myImg");
myImg.onload = function() {
var width = myImg.width;
}
myImg.src = "banana.png"
위의 코드에서 이미지로딩과 함수의 순서를 바꿔도 상관없지않나요?
항상 이미지로딩을 지시하기전에 onload리스너를 먼저 등록해야하는 이유라도 있나요?
myImg.src = "banana.png"
myImg.onload = function() {
var width = myImg.width;
}
이렇게 해도 문제가 없을것같아요. 어차피 이미지가 완전히 로딩된후에 함수가 실행되므로.

?
  • ?
    관리자 2019.08.20 17:22

    그렇지 않습니다. 413페이지의 본문을 다시 읽어보세요.

    다음 코드의 경우
    myImg.src = "banana.png" (1)
    myImg.onload = function() { (2)
    var width = myImg.width; (3)
    }

    (1)의 코드가 실행될 때, 이미지 로딩을 시작합니다.
    그런데 로딩의 속도가 빨라 (2)의 코드가 미처 실행되기 전에 로딩이 완료되어 load 이벤트가 발생할 수 있습니다.
    현재 이렇게 발생한 load 이벤트를 받아 줄 리스너가 아직 없는 상태입니다. (2)의 코드 실행이 완료되지 않았기 때문에.

    그러면 브라우저는 load 이벤트를 처리할 리스너가 있는 지 확인하고 없는 경우 load 이벤트를 제거합니다.
    그 후 (2)의 코드가 실행되지만, load 이벤트는 이미 사라진 상태이므로
    (1)의 과정에서 발생한 load 이벤트를 처리하지 못하게 되고
    (3)의 코드는 실행되지 않게 됩니다.

    그래서 자바스크립트 프로그램을 작성할 때, 어떤 경우든 이벤트 리스너의 등록이 먼지 이루어지도록 코딩하는 것이 매우 중요합니다.


QnA

공부하면서 궁금했던 것을 질문해보세요.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 읽어주세요! 연습문제 및 실습문제 정답 공개에 관한 공지입니다. file 관리자 2017.06.20 18266
303 7장 실습문제 10번 좀 도와주세요 ㅜㅠ 헷찡 2020.10.18 234
302 9장 연습문제 4번 1 초보 2020.10.16 1007
301 303p. 12번에 2질문 드립니다 1 2020.10.15 96
300 302p. 7번에 (2)번 문제 2020.10.15 73
299 264p 문의 1 . 2020.10.15 65
298 282p. 예제 6-14 출력 문의 드려요 1 file . 2020.10.15 82
297 z-index 관련 질문 번역봇 2020.10.13 63
296 2장 인라인프레임만들기 예제 2-24 다시질문해요 2 고수가되고싶어요 2020.10.11 90
295 실습 문제 4장 4번 문제에 대해서 질문드립니다. 1 ㅇㅇ 2020.10.11 122
294 2장 인라인프레임만들기 예제 2-24 file 고수가되고싶어요 2020.10.10 76
293 연습문제 5장 10번 문제 질문드립니다. 1 . 2020.10.08 247
292 실습문제 5장 9번 1 file 2020.10.08 212
291 연습문제 3장 p.155 5번 문제 1 열심히해보자 2020.10.07 419
290 연습문제 4장 8번문제 1 file 도라에몽 2020.10.02 263
289 실습문제 4장 8번 1 2020.09.27 499
288 이거 1장 부터 시작해서 답을 어디서 확인해야 되죠? 2020.09.27 224
287 6장 실습문제 2번 3번문제 초보 2020.09.16 147
286 p.583 4번 질문드립니다. 6 열심히 공부하는 독자 2020.09.14 287
285 p.524 쿠키 질문드립니다. 2 열심히 공부하는 독자 2020.09.12 71
284 예제 13-9 질문드립니다. 4 열심히 공부하는 독자 2020.09.12 100
목록
Board Pagination Prev 1 ... 2 3 4 5 6 7 8 9 10 ... 21 Next
/ 21
위로