Home > Web Front-end > JS Tutorial > body text

Detailed explanation of js compilation and execution order

小云云
Release: 2018-02-24 14:27:01
Original
1465 people have browsed it

Javascript is executed section by section, separated by script tags. Before executing each section, there is a "precompilation". Precompilation does two things: 1. Declare all var variables (initially undefined), 2. .Parse definitional function statements.

There is a classic article about the difference between "a = 1 and var a = 1 in window scope":

a = 1相当于window.a = 1,是动态地为window添加一个成员; 
var a = 1是在当前作用域(也就是window)下声明一个a,这个声明是在整个作用域内都有效的。 
换句话说,其实区别就在于var a = 1比a = 1多了一个声明的行为。
Copy after login

Look at the following example:
1.

alert(w);
alert('ok');
w = 2;
Copy after login

Error report: w is not defined
2.

alert(w);
alert('ok');var w = 2;
Copy after login

pops up undefined and ok in sequence. During precompilation, the variable w is declared; when the alert(w) line of code is executed, t has not yet been assigned a value, so undefined pops up.
3.

a();function a() {}alert('ok');
Copy after login

Pop up ok. During precompilation, the defining function statement function a() {} is parsed and executed smoothly.
4.

b();var b = function() {};
alert('ok');
Copy after login

b is not a function, and an error will be reported when executed. During precompilation, the variable b = undefined was declared; when b() is executed, a is still equal to undefined and is not a function, so an error will be reported when b() is executed.
5.

<script type="text/javascript">
    c();
    alert(&#39;first&#39;);</script><script type="text/javascript">
    alert(&#39;second&#39;);</script>
Copy after login

Pop up second. Because JavaScript is executed section by section, an error is reported when the first section is executed to c(), the entire first section will not be executed again, and the second section will be executed normally.

Related recommendations:

JavaScript execution sequence analysis

A brief introduction to JavaScript execution sequence

Detailed explanation of the loading and execution sequence of js in html

The above is the detailed content of Detailed explanation of js compilation and execution order. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template