Sobes.tech
Middle

Script тегіндегі async және defer атрибуттарының айырмашылығы неде?

sobes.tech AI

AI-дан жауап

async және defer атрибуттары <script> тегінде JavaScript-тің жүктелуі мен орындалуын басқару үшін пайдаланылады, бұл беттің рендерін блоктамай:

  • async — скрипт асинхронды түрде HTML-дің парсингімен қатар жүктеледі және жүктелгеннен кейін дереу орындалады, парсинг аяқталуын күтпейді. async скрипттердің орындалу тәртібі кепілденбеген.

  • defer — скрипт те парсингпен қатар жүктеледі, бірақ орындалуы толық HTML парсинг аяқталғанға дейін кейінге қалдырылады. defer скрипттері құжаттағы пайда болу тәртібімен орындалады.

Мысал:

<script src="script1.js" async></script>
<script src="script2.js" defer></script>

script1.js бұрын немесе кейін орындалуы мүмкін, ал script2.js нақты парсингтен кейін және басқа defer скрипттерімен бірге орындалады.

DOM-ға тәуелді скрипттер үшін defer пайдаланыңыз, ал тәуелсіз скрипттер үшін, мысалы аналитика үшін, async пайдаланыңыз.