后端:跨端轻量JavaScript引擎的实现与探索

博客介绍了JavaScript语言、引擎及其工作原理,如V8引擎和Turbofan技术。还详细介绍了小型嵌入式Javascript引擎QuickJS,包括其特点、工作原理、内存管理、使用方法及扩展。此外,介绍了多平台支持库libuv的功能亮点、运行原理和简单使用,最后提及QuickJS与libuv的结合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、JavaScript

1.JavaScript语言

JavaScript是ECMAScript的实现,由ECMA 39(欧洲计算机制造商协会39号技术委员会)负责制定ECMAScript标准。

ECMAScript发展史:

时间 版本 说明
1997年7月 ES1.0 发布 当年7月,ECMA262 标准出台
1998年6月 ES2.0 发布 该版本修改完全符合ISO/IEC 16262国际标准。
1999年12月 ES3.0 发布 成为 JavaScript 的通行标准,得到了广泛支持
2007年10月 ES4.0草案发布 各大厂商意见分歧,该方案未通过
2008年7月 发布ES3.1,并改名为ECMAScript 5 废除ECMAScript 4.0,所以4.0版本不存在
2009年12月 ESt 5.0 正式发布 
2011年6月 ES5.1 发布 该版本成为了 ISO 国际标准(ISO/IEC 16262:2011)
2013年12月 ES6 草案发布 
2015年6月 ES6 正式发布,并且更名为“ECMAScript 2015” TC39委员会决定每年发布一个ECMAScript 的版本
2.JavaScript引擎

JavaScript引擎是指用于处理以及执行JavaScript脚本的虚拟机。

常见的JavaScript引擎:



引擎 所属机构/个人 浏览器 说明
SpiderMonkey Mozilla Firefox 第一款JavaScript引擎,早期用于 Netscape Navigator,现时用于 Mozilla Firefox。是用C语言实现的,还有一个Java版本叫Rhino;Rhino引擎由Mozilla基金会管理,开放源代码,完全以Java编写,用于 HTMLUnit;而后TraceMonkey引擎是基于实时编译的引擎,用于Mozilla Firefox 3.5~3.6版本;JaegerMonkey:结合追踪和组合码技术大幅提高性能,用于Mozilla Firefox 4.0以上版本
JavaScriptCore Apple Safari 简称JSC,开源,用于webkit内核浏览器,如 Safari ,2008 年实现了编译器和字节码解释器,升级为了SquirrelFish。苹果内部代号为Nitro的 JavaScript 引擎也是基于 JSC引擎的。至于具体时间,JSC是WebKit默认内嵌的JS引擎,而WebKit诞生于1998年,Nitro是为Safari 4编写,Safari 4是2009年6月发布。
V8 Google Chrome 2008年9月,Google的V8引擎第一个版本随着Chrome的第一个版本发布。V8引擎用 C++编写,由 Google 丹麦开发,开源。除了Chrome,还被运用于Node.js以及运用于Android操作系统等
Chakra Microsoft Edge、IE 译名查克拉,用于IE9、10、11和Microsoft Edge,IE9发布时间2011年3月
JerryScript 三星  三星推出的适用于嵌入式设备的小型 JavaScript 引擎,2015年开源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值