摘要:文章地址浏览器怎么执行代码引擎怎么执行代码引擎会创建一个全局执行上下文,一个全局内存又叫做全局作用域全局变量环境,如果有函数调用,还需要创建调用栈和局部执行上下文本地执行上下文展开一下。执行上下文栈,也可以叫做调用栈通过执行上下文。
文章地址:https://github.com/leonardoms...
浏览器怎么执行代码?
JS引擎怎么执行代码?
JS引擎会创建一个全局执行上下文【Global Execution Context】,一个全局内存【Global Memory】(又叫做全局作用域【Global Scope】、全局变量环境【Global Variable Environment】),如果有函数调用,还需要创建调用栈【Call Stack】和局部执行上下文【Local Execution Context】(本地执行上下文)
展开一下。
执行上下文是一个环境,JS代码会在里面被解析和执行。分为全局执行上下文,函数执行上下文和Eval函数执行上下文。
全局执行上下文,引擎默认的,没有在函数中的代码会被放在此上下文。包含两个阶段:创建和执行。全创建阶段会创建一个全局对象(global或window)和this变量,为变量和函数分配内存,hoisting【为声明的变量赋初始值undefined】。
函数执行上下文,当函数被调用时被创建。创建阶段会创建arguments对象,this对象,为变量和函数分配内存,hoisting【为声明的变量赋初始值undefined】
Eval函数执行上下文,无需理解,因为我们几乎用不到。
执行上下文栈,也可以叫做调用栈?
通过执行上下文。JS引擎可以解析和运行复杂的代码。
参考资料:
https://www.valentinog.com/bl...
https://tc39.github.io/ecma26...
https://tylermcginnis.com/jav...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/98997.html
摘要:阮一峰老师开源作品。书上的示例代码可以通过在线网站代码调试工具调试。 阮一峰老师开源作品。 书上的示例代码可以通过 在线网站代码调试工具 JS Bin 调试。 作用域 作用域链 每个变量或函数通过执行环境 (execution context) 定义了其有权访问的其他数据,决定了他们各自的行为; 全局执行环境是最顶层的执行环境,根据宿主环境的不同,表示全局执行环境的对象也不同:在浏览...
摘要:面向对象精要读书笔记下面代码的实际执行过程是什么使用原始值和原始封装类型是有区别的因为是被解析成一个对象的,所以肯定是真的函数是对象,函数有两种字面形式,第一种是函数声明,以关键字开头后面跟函数名字。 Javascript面向对象精要读书笔记 1、下面代码的实际执行过程是什么? var name = fan var str = name.charAt(0) console.l...
摘要:堆栈结构的底部是全局执行上下文,顶部是当前执行上下文。不同的执行上下文切换时堆栈会发生改变译论及代码类型时,在某些时候可能也意味着执行上下文。函数体中代码执行完后,只剩全局上下文直到程序结束译代码更有意思。 第一次翻译,希望各位多多包涵,有错误处还望指出,欢迎提出建议。 Chapter 1.Execution Contexts Introduction (介绍) Definitio...
摘要:线程允许同一个进程中同时存在多个程序控制流。线程也被称为轻量级进程。现代操作系统中,都是以线程为基本的调度单位,而不是进程。 并发简史 在早期的计算机中不包含操作系统,从头至尾都只执行一个程序,并且这个程序能访问计算机所有资源。操作系统的出现使得计算机每次能运行多个程序,并且不同的程序都在单独的进程中运行:操作系统为各个独立执行的进程分配内存、文件句柄、安全证书等。不同进程之间通过一些...
阅读 675·2021-10-14 09:42
阅读 1946·2021-09-22 15:04
阅读 1528·2019-08-30 12:44
阅读 2117·2019-08-29 13:29
阅读 2703·2019-08-29 12:51
阅读 524·2019-08-26 18:18
阅读 662·2019-08-26 13:43
阅读 2770·2019-08-26 13:38