WebAssembly入门(1)-JavaScript的执行流程

本文介绍了JavaScript的执行流程,从编译型和解释型语言的区别开始,详细阐述了抽象语法树(AST)、字节码的概念,以及V8引擎如何使用字节码优化执行效率。此外,还讨论了即时编译(JIT)技术在提升JavaScript性能中的作用,以及其在iOS设备上的限制。
摘要由CSDN通过智能技术生成

WebAssembly可以让C/C++、Rust、Java、C#等多种高级语言编写的代码,在Web上以接近原生性能的方式运行,有越来越多的大型应用通过它跑在了网页上,例如:AutoCAD在线版、Figma在线版,还有在微信上支持运行Unity小游戏,底层的关键技术都是基于WebAssembly。

要了解WebAssembly,先从JavaScript的执行流程说起。

一 JavaScript的执行流程

1.1 编译型语言和解释型语言

编程语言按执行流程划分,可以分为编译型和解释型。

编译型语言在执行前,需要经过编译器的编译,生成机器能读懂的二进制文件,这样每次就直接运行改文件,而无需重新编译。例如C/C++、GO、Rust等都是编译型语言。

解释型语言则不需要事先编译,每次运行时由解释器对程序进行动态解释和执行。例如JavaScript、Python等都是解释型语言。

它们的执行流程如下。

4d1b318dabe87e66c3c4f374a8d11139.png

从图中可以看出,在JavaScript的执行过程中,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值