Home >Web Front-end >JS Tutorial >How Does JavaScript Handle Script Loading and Execution Order in Web Pages?

How Does JavaScript Handle Script Loading and Execution Order in Web Pages?

Linda Hamilton
Linda HamiltonOriginal
2024-12-11 02:47:09374browse

How Does JavaScript Handle Script Loading and Execution Order in Web Pages?

What is the loading and execution order of JavaScript scripts in a web page?

JavaScript scripts can be included in a web page in various ways, including:

  • Inline code or loaded from an external URL
  • Included within the or tags
  • Having no, defer, or async attributes (for external scripts only)
  • Included within static source or added dynamically using other scripts

Loading Order

Scripts are loaded in the order they are encountered in the HTML code, regardless of whether they are inline or external. However, scripts added dynamically may have their loading order affected by browser behavior.

Execution Order

The execution order of JavaScript scripts depends on several factors:

  • General Rule: Scripts are executed in the order they are encountered in the page, except for scripts marked with async.
  • async Scripts: Scripts marked with async are executed in an unpredictable order. They may run as soon as they are loaded or after the parser has finished.
  • Dynamically Added Scripts: The behavior of dynamically added scripts depends on the browser.
  • defer Scripts: Scripts marked with defer wait until the parser has finished and then execute in the order they were encountered.
  • Module Scripts (type="module"): Module scripts are automatically given the defer attribute and execute in order after parsing is complete. They can also use the async attribute to run inline module scripts immediately.

Example

In the given example with inline scripts in the body, the loading order is:

  1. Initialization scripts in the
  2. External scripts for script loading
  3. Inline script adding another external script
  4. Inline script using the added external script

The execution order depends on whether the dynamically added script is marked as async or not:

  • If the added script is not marked as async, it will execute after the inline script that added it.
  • If the added script is marked as async, its execution order is unpredictable and may occur before or after the inline script that added it.

The above is the detailed content of How Does JavaScript Handle Script Loading and Execution Order in Web Pages?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn