授权协议: MIT
开发语言: JavaScript 查看源码 »
操作系统: 跨平台
收录时间: 2019-07-12
提 交 者: 局长

QuickJS 是一个轻量且可嵌入的 JavaScript 引擎,它支持 ES2019 规范,包括 ES module、异步生成器以及 proxies。除此之外,还支持可选的数学扩展,例如大整数(BigInt)、大浮点数(BigFloat)和运算符重载。

主要特性如下

  • 轻量且方便嵌入:QuickJS 只包含一些 C 语言文件,没有额外的依赖,运行一个简单的 hello world 只需要 190 KiB 的 x86 代码
  • 拥有启动时间极短的快速解释器:在单核的台式 PC 上,运行 ECMAScript 测试套件的 56000 个测试大约在 100 秒内完成。一个 runtime 实例的完整生命周期在不到 300ms 内完成
  • 几乎完整的 ES2019 支持,包括 ES module、异步生成器和完整的 Annex B 支持(传统的 Web 兼容性)
  • 完全通过了 ECMAScript 测试套件的测试
  • 可将 JavaScript 源码编译为没有外部依赖的可执行文件
  • 基于引用计数的 GC(以减少内存使用并具有确定性行为)
  • 数学扩展:BigInt、BigFloat、运算符重载、bigint mode 和 math mode
  • 使用 Javascript 实现的具有上下文着色功能(contextual colorization)的命令行解释器
  • 包含使用 C 语言库封装的轻量级内置标准库

BTW,QuickJS 的作者是 Fabrice Bellard,知名开源项目 FFMPEG 和 QEMU 都出自他手。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

QuickJS 的相关博客

QuickJS 快速入门 (QuickJS QuickStart)

1. QuickJS 快速入门 (QuickJS QuickStart) 1. QuickJS 快速入门 (QuickJS QuickStart) 1.1. 简介 1.2. 安装 1.3. 简单使用 ...

quickjs windows安装

https://zhuanlan.zhihu.com/p/89574235 https://blog.csdn.net/Innost/article/details/98491709 https://github.com/quickj...

前端:QuickJS到底能干什么

QuickJS 是一个轻量且可嵌入的 JavaScript 引擎,它支持 ES2019 规范,包括 ES module、异步生成器以及 proxies。除此之外,还...

使用C语言为QuickJS开发一个原生模块

为QuickJS编写原生模块的基础介绍 不久前,QEMU和FFmpeg的创建者Fabrice Bellard发布了一个全新的Javascript引擎。 这引起了我...

从 QuickJS 源码理解 JavaScript 的闭包

摘要 本文从 QuickJS 源码的角度分析 JavaScript 语言中的闭包的实现原理,首先介绍闭包的概念,然后从相关 C 语言代码,一步...

从 JS 引擎到 JS 运行时(上)

https://juejin.im/post/5e31a569e51d45026a4375ba V8 和 Node.js 的关系,是许多前端同学们所津津乐道的——浏览器里的语言,...

从 JS 引擎到 JS 运行时(上)

https://juejin.im/post/5e31a569e51d45026a4375ba V8 和 Node.js 的关系,是许多前端同学们所津津乐道的——浏览器里的语言,...

从 JS 引擎到 JS 运行时(下)

https://juejin.im/post/5e33fe9f5188254dfd43de93 在上篇文章中,我们已经为 JS 引擎扩展出了个最简单的 Event Loop。但像这...

从 JS 引擎到 JS 运行时(下)

https://juejin.im/post/5e33fe9f5188254dfd43de93 在上篇文章中,我们已经为 JS 引擎扩展出了个最简单的 Event Loop。但像这...

浅析鸿蒙 JavaScript GUI 技术栈

本文经作者授权后转载自知乎专栏《前端随想录》,作者雪碧 doodlewind 原文地址:https://zhuanlan.zhihu.com/p/240594356 众...

评论 (25)

加载中
生态永远是大问题
03/29 19:07
回复
举报
卧槽,不看不知道,一看吓一跳,可嵌入, 一个hello world 只需要 190KB... 炸了炸了.
03/29 18:45
回复
举报
卧槽,ffmpeg qemu 大佬
01/20 20:55
回复
举报
卧槽,又是这个大佬的作品。貌似该大佬曾设计了一个圆周率算法,用笔记本吊了超算。
01/20 20:51
回复
举报
如果这是国产的,肯定一堆人喷:这跟nodejs有啥区别。
2019/11/03 16:56
回复
举报
是不是国外的程序员都是有闲阶层,好多空闲时间去琢磨一些高级的东西。
2019/09/30 10:40
回复
举报
是的
2019/09/30 11:00
回复
举报
我们已在项目中使用,基于QuickJs封装出一个专跑Js的服务,将原来在Java中运行的Js代码改到这个QuickJs服务中来运行,效果太好了。速度比Java中运行快10倍+,还特稳定。简直不要太好用。
2019/08/23 17:54
回复
举报
是真的吗?如果是V8会快多少?
2019/08/29 23:10
回复
举报
刚出生的东西需要大家完善和壮大
2019/07/26 16:11
回复
举报
V8没有W12强啊!
2019/07/23 13:01
回复
举报
2019/07/22 19:48
回复
举报
更多评论
25 评论
197 收藏
分享
在线直播报名
返回顶部
顶部