
标准层面主要做了哪些工作?
定义了 ECMAScript® 语言应该是什么样的。以 ES2015 标准的官方文件为例:
LuaJIT 是公认的运行最快的动态语言的实现
ES 实现:JavaScript, ActionScript, etc.
实现层面主要做了哪些工作?
使得 JS 代码得到执行。简单地说就是,能够读懂你的 JS 代码,并准确地给出代码运行结果。
| 分类 | 举例 |
|---|---|
| 浏览器 | Chrome, Safari, iOS Safari, iOS WebView, Android WebView, etc. |
| 服务器 | Node.js, etc. |
| 客户端 | NativeScript/React Native/Weex, Unity3D/Cocos2d-x, Egret Runtime, etc. |
| 其 他 | Electron, 微信小程序, Ruff, etc. |
运行环境层面主要做了哪些工作?
大多数运行环境因实际需要,囊括 JS 引擎以及其他组成部分在内。它暴露某些组成部分的 API 给到 JS 执行环境,并适时调用 JS 引擎执行 JS 代码。
不同的运行环境,其 JS 运行机制不一,暴露的 JS API 不尽相同,下面以 浏览器 为例来探讨。





HTML5 扩展了 DOM;同时也扩展了 BOM,并促进了 BOM 的标准化。

Made by @演说.io