파싱

김하은·2023년 4월 21일
1

<script> html을 파싱(읽어 내려감)하는 과정에서 이 태그를 만나면 파싱이 중단되고 스크립트를 실행한다.
스크립트가 다 실행이 되면 파싱을 재개한다.

<script async> html 파싱과 병렬적으로 로드된다. (같이진행)
단, 스크립트가 실행 될때는 파싱이 중단된다.
다른 스크립트가 의존하지 않는 독자적 스크립트를 로드할 때 적합.

<script defer>
html을 다 파싱한 뒤에 스크립트가 로드된다.

async와 defer의 경우 src속성이 없으면 적용되지 않는다.

스크립트 태그에 아무것도 적어주지 않았다면 일단 html을 파싱하다가 스크립트 태그를 만나면 스크립트를 다운로드 받으며 실행한 뒤 실행이 끝나면 다시 html을 파싱하고,

async속성이 붙어 있다면 html을 파싱하면서 스크립트를 만나면 스크립트 다운로드가 일어나고, 다운로드할 때도 html파싱이 계속 일어나다가 스크립트를 다 다운받으면 실행이 일어나는데 이때는 파싱은 중지된다.
이후 실행이 끝나고 파싱이 다시 일어난다.

defer 속성이 붙어있다면 파싱이 일어나면서 스크립트를 만나면 스크립트도 같이 다운로드 받으며 파싱이 다 끝나고 나서야 스크립트 실행이 일어난다.

0개의 댓글