


Analyzing the order of loading and code execution of JavaScript scripts executed by the browser_javascript skills
This article is mainly based on several ways to introduce JavaScript into HTML pages, analyzing the execution order of JavaScript scripts in HTML
1. Regarding the blocking nature of JavaScript script execution
JavaScript has blocking characteristics when it is parsed and executed in the browser. That is to say, when the JavaScript code is executed, the parsing, rendering and downloading of other resources must stop and wait for the script to complete①. This is uncontroversial, and the behavior is consistent in all browsers. The reason is not difficult to understand: the browser needs a stable DOM structure, and JavaScript may modify the DOM (change the DOM structure or modify a certain DOM node), if the parsing of the page continues while JavaScript is being executed, the entire parsing process will become difficult to control, and the possibility of parsing errors will also become very high.
However, there is another issue that needs attention here. For external scripts, it also involves a script download process. In early browsers, the download of JavaScript files would not only block the parsing of the page, but even block other resources on the page. Downloads (including other JavaScript script files, external CSS files, and external resources such as images). Starting from IE8, Firefox3.5, Safari4 and Chrome2, parallel downloading of JavaScript is allowed. At the same time, the downloading of JavaScript files will not block the downloading of other resources (in older versions, the downloading of JavaScript files will also block the downloading of other resources).
Note: Different browsers have different restrictions on the maximum number of connections under the same domain name. The requirement in the HTTP1.1 protocol specification is that it cannot be higher than 2, but most browsers currently provide a maximum number of connections. More than 2, IE6/7 both have 2, IE8 has been upgraded to 6, firefox and chrome also have 6. Of course, this setting can also be modified. For details, please refer to: http://www.stevesouders. com/blog/2008/03/20/roundup-on-parallel-connections/
2. About the execution order of the script
Browsers parse pages in order from top to bottom, so under normal circumstances, the execution order of JavaScript scripts is also from top to bottom, that is, the code that appears first on the page or the code that is introduced first is always executed first. execution, even when parallel downloading of JavaScript files is allowed. Note that we have marked "under normal circumstances" in red here. What is the reason? We know that there are many ways to add JavaScript code to HTML, which are summarized as follows (regardless of module loaders such as requirejs or seajs):
(1) Normal introduction: that is, introducing script code or introducing external scripts through the

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Frequently Asked Questions and Solutions for Front-end Thermal Paper Ticket Printing In Front-end Development, Ticket Printing is a common requirement. However, many developers are implementing...

JavaScript is the cornerstone of modern web development, and its main functions include event-driven programming, dynamic content generation and asynchronous programming. 1) Event-driven programming allows web pages to change dynamically according to user operations. 2) Dynamic content generation allows page content to be adjusted according to conditions. 3) Asynchronous programming ensures that the user interface is not blocked. JavaScript is widely used in web interaction, single-page application and server-side development, greatly improving the flexibility of user experience and cross-platform development.

There is no absolute salary for Python and JavaScript developers, depending on skills and industry needs. 1. Python may be paid more in data science and machine learning. 2. JavaScript has great demand in front-end and full-stack development, and its salary is also considerable. 3. Influencing factors include experience, geographical location, company size and specific skills.

How to merge array elements with the same ID into one object in JavaScript? When processing data, we often encounter the need to have the same ID...

Learning JavaScript is not difficult, but it is challenging. 1) Understand basic concepts such as variables, data types, functions, etc. 2) Master asynchronous programming and implement it through event loops. 3) Use DOM operations and Promise to handle asynchronous requests. 4) Avoid common mistakes and use debugging techniques. 5) Optimize performance and follow best practices.

Discussion on the realization of parallax scrolling and element animation effects in this article will explore how to achieve similar to Shiseido official website (https://www.shiseido.co.jp/sb/wonderland/)...

In-depth discussion of the root causes of the difference in console.log output. This article will analyze the differences in the output results of console.log function in a piece of code and explain the reasons behind it. �...

Explore the implementation of panel drag and drop adjustment function similar to VSCode in the front-end. In front-end development, how to implement VSCode similar to VSCode...
