JavaScript 是如何工作的和代码在幕后是如何被执行的

JavaScript 是如何工作的和代码在幕后是如何被执行的

JavaScript是世界上一个有趣的语言,它的工作过程与其他语言有很大的不同。 JavaScript是同步的(按顺序执行),单线程语言(这意味着JavaScript一次只能执行一条命令)。

JavaScript中的所有操作都发生在执行上下文内,你可以将其视为一个大盒子或一个容器,在其中执行整个JavaScript代码。执行上下文包含两个部分,一个是Memory(变量环境),其中存储所有变量和函数的键值对,另一个是Code Component(执行线程),其中代码按行依次执行(如下图所示)。

JavaScript 是如何工作的和代码在幕后是如何被执行的

现在,当你运行JavaScript代码时会发生什么呢?

简单的答案是:创建一个执行上下文。

现在我写了下面的演示代码,并且会逐行解释代码的运行过程。

JavaScript

<script> 
    var n = 3; 
    function squr(num) { 
        var ans = num * num; 
        return ans; 
    } 
    var three = squr(n); 
</script> 

当你运行整个代码时,会创建一个全局执行上下文,它包含两个部分,一个是内存,另一个是代码执行。

当遇到第一行时,它将为所有变量(n, three, five)和函数(square)分配内存。在为变量分配内存时,它会保留一个特殊值undefined,对于函数,则存储了整个代码。下面是一种图形化的表示方式。

JavaScript 是如何工作的和代码在幕后是如何被执行的

在为所有变量和函数分配内存之后,代码执行阶段开始(代码逐行执行)。

第1行:var n=3,3的值放入n标识符中。

第2-5行:没有要执行的内容。

第6行:我们调用一个函数,现在函数是JavaScript的核心。函数是一个小程序,每当调用一个新的函数时,都会创建一个新的执行上下文(在代码执行阶段内部)。它还包含了两个部分的内存和代码执行阶段。为变量和函数分配内存(包括函数参数和其他变量)。

JavaScript 是如何工作的和代码在幕后是如何被执行的

分配内存后,代码执行阶段在这里,函数内部的代码被执行,undefined被实际值替代。

JavaScript 是如何工作的和代码在幕后是如何被执行的

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程