本篇文章给大家带来了关于javascript的相关知识, 其中主要介绍了js引擎如何执行js代码的相关问题, js引擎在执行js代码时, 也会从上到下进行词法分析、语法分析、语义分析等处理, 并在代码解析完成后生成AST, 希望对大家有帮助 。
文章插图
相关推荐:javascript教程
我们大概经常能听到“执行环境”、“作用域”、“原型(链)”、“执行上下文”等内容, 它们都在描述什么?
JS代码的运行【深入了解JavaScript引擎如何执行JS代码】我们知道了js是弱类型语言, 在运行时才确定变量类型 。 js引擎在执行js代码时, 也会从上到下进行 词法分析、语法分析、语义分析 等处理, 并在代码解析完成后生成AST(抽象语法树), 最终根据AST生成CPU可以执行的机器码并执行 。
除此之外, JS引擎在执行代码时还会进行其它处理, 如 V8 中还有两个阶段:
- 编译阶段:该阶段会进行执行上下文的创建, 包括创建变量对象(VO)(此时会被初始化为undefined)、建立作用域链、确定 this 指向等 。 每进入一个不同的运行环境 。 V8 都会创建一个新的执行上下文 。 执行阶段:将编译阶段中创建的执行上下文压入调用栈, 并成为正在运行的执行上下文 。 代码执行结束后, 将其弹出调用栈 。 (这里有一个VO - AO的过程:JavaScript对变量赋值时变量被用到, 此时变量对象会转为活动对象, 转换后的活动对象才可被访问)
推荐阅读
- 值得了解的几个实用JavaScript优化小技巧
- JavaScript常见数组方法以及教你如何转置矩阵
- 一文了解CSS3中的新特性@layer
- CPU作为电脑的中心枢纽,其作用就相当于我们的人脑一样,而且CPU价格也很贵。所以,我们不时一定要好好保养CPU。下面小编就来给大家介绍与CPU保养相关
- 系统还原在哪 如何打开系统还原新系统了解的东西
- 战魂铭人蓝拳怎么玩-蓝拳玩法及获取攻略您需要了解的
- FHD是指的什么 FHD是什么意思新系统了解的东西
- 带你了解互联网发展趋势 互联网发展趋势
- 中华历史 五千年悠悠岁月 沧桑巨变 助你了解更多故事
- 文件在哪 怎样打开文件新系统了解的东西