基于 C 实现的 JavaScript 引擎 QuickJS

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 都出自他手。

的码云指数为
超过 的项目
加载中

评论(11)

司徒永超
司徒永超
看了一点源代码,挺强的
小飞鹤
小飞鹤
感觉很厉害的东西, 不知道能用在什么地方?
lh7477009
lh7477009
mark
KingofPapapa
KingofPapapa
很强大。大佬就是大佬。每次都是王炸
razr1
razr1
哪位大神可以把到移植到nginx,替代openResty ^^
PSI
PSI
nginx官方开发的njs ( http://nginx.org/en/docs/njs/index.html ),有什么不满意的地方?
李知周
李知周
这大牛又出场了
zhenruyan
zhenruyan
试了一下 很好玩
Algo2017
Algo2017
厉害
rz
rz
厉害啊,大神
善良超哥哥
这个大牛,每个项目都可以封神

Fabrice Bellard 和他的 QuickJS JavaScript 引擎

周二,FFmpeg和QEMU的创建者Fabrice Bellard以及C专家Charlie Gordon宣布QuickJS首次公开发布。在MIT许可下发布,它是一个“小而完整的JavaScript引擎”,支持最新的ES2019语言规范。 QuickJ...

前天 21:41

QuickJS,一个小型并且可嵌入的 Javascript 引擎

QuickJS 是一个小型并且可嵌入的 Javascript 引擎,它支持 ES2019 规范,包括模块,异步生成器和代理器。 它可选支持数学扩展,例如大整数 (BigInt),大浮点数 (BigFloat) 以及运算符重载。 ...

07/12 23:00

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

暂无博客

返回顶部
顶部