leecom116

제이의 기술 블로그
  • Print (216)
    • Frontend (29)
      • React (3)
      • HTML, CSS (8)
      • JavaScript (11)
      • JQuery (4)
      • JSP (2)
    • Backend (59)
      • Java (31)
      • Spring (11)
      • Spring Boot (0)
      • Python (1)
      • Node.js (1)
      • C, C++ (12)
      • Linux (2)
    • Database (3)
      • MariaDB (0)
      • Oracle (0)
      • MySQL (0)
    • Project (1)
    • Algorithm (67)
      • 백준 (43)
      • 프로그래머스 (0)
      • 이코테 (6)
      • 코드업 (17)
    • Tool (2)
      • Git (1)
      • Log (1)
    • CS (4)
    • Tech Interview (18)
      • Java (9)
      • Web (9)
    • Study (31)
      • 인프런 (3)
      • 정보처리기사 (8)
      • util (4)
      • 쌍용 (14)

깃허브

    https://github.com/leecom116

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

최근 글

인기 글

블로그 메뉴

  • 홈
  • 태그
  • 방명록

태그

  • 웹개발
  • Associate
  • 논리 연산자
  • man month
  • 객체 배열
  • JSP
  • 자바의 정석
  • 자바 인터페이스
  • 산술 변환
  • 코드업 기초100제
  • 자바 예외 처리
  • 델파이 기법
  • 코드업 기초
  • 참조형 변수
  • 코드업
  • char
  • 나도코딩
  • 나선형 모델
  • C언어 프로젝트
  • static메서드
  • 코드업 2차원 배열
  • Web Developer
  • 정보공학 방법론
  • CSS
  • HTML
  • 웹 개발 부트캠프
  • 웹 개발
  • 의존성 주입
  • c언어
  • 메타포어

최근 댓글

hELLO · Designed By 정상우.
leecom116
Frontend/JavaScript

$(document).ready() 와 window.onload 의 차이점

2024. 7. 1. 09:00

두 구문을 사용하는 이유는 다음과 같다.

 

자바스크립트는 인터프리터 언어이므로 DOM이 그려지기 전에

자바스크립트로 특정 HTML태그(DOM)를 참조할 경우 스크립트 오류가 뜰 수 있다.

 

이를 해결 하기 위해 두 개의 구문이 등장하게 되었다.

 

둘의 차이점을 알아보자.

 

(참고로 window.onload 는 페이지당 한번만 사용 가능하기 때문에,

window.addEventListener를 사용하면 이러한 문제점을 해결할 수 있다.)

 

$(document).ready()

1. 호출 시점

- DOM 트리가 로드될 때 호출

2. 특징

- DOM만 로드되면 바로 실행(이미지 및 외부 리소스와 무관)

- 중복 사용해도 순서대로 모두 실행

 

window.onload

1. 호출 시점

- 페이지의 모든 요소들이 로드된 이후에 호출

2. 특징

- 페이지 로드시 자동으로 실행되는 전역 콜백 함수

- 페이지의 모든 요소들이 로드되어야 호출

- 한 페이지당 하나의 함수만 사용 가능 (가장 나중에 호출된 함수만 적용)

  ex) body 태그에 onload 구문이 있을 경우, 먼저 실행되며 window.onload는 실행되지 않음

 

전체 순서

DOM 트리 생성 -> $(document).ready() 실행 -> 이미지를 포함한 모든 요소 로드 -> window.onload 실행

 

 

저작자표시

'Frontend > JavaScript' 카테고리의 다른 글

[Promise] 비동기 작업을 유연하게  (0) 2024.11.27
[JavaScript] 일반 함수 vs 화살표 함수  (0) 2024.08.06
자바스크립트의 동작 원리  (0) 2024.02.03
[JavaScript] 디바운싱과 쓰로틀링  (0) 2024.01.31
window 객체의 opener 사용하기  (0) 2023.10.15
    'Frontend/JavaScript' 카테고리의 다른 글
    • [Promise] 비동기 작업을 유연하게
    • [JavaScript] 일반 함수 vs 화살표 함수
    • 자바스크립트의 동작 원리
    • [JavaScript] 디바운싱과 쓰로틀링
    leecom116
    leecom116

    티스토리툴바