从引擎的角度来讨论 JavaScript ,因此,与浏览器相关的内容都是属于“ 应用环境 ”:属于宿主环境或属于用户编程环境。
由宿主与运行期构成的应用环境,表达了这种关系。
这样的关系中,运行环境是由宿主通过脚本引擎(JavaScript Engines)创建的。
应用程序——宿主在这里可以看成一个应用程序——如何创建运行期环境。
在初始状态下的运行期环境主要包括:
- 一个宿主的约定;
- 一个引擎内核;
- 一组对象和API;
- 一些其他的规范。
换而言之,这是一个引擎自身的能力。不过即使如此,不同的JavaScript 脚本引擎所提供的语言特性也不一致。
若非特别说明,JavaScript 是指一种通用的、跨平台和跨环境的语言,并不特指某种特定的宿主或者运行环境。
也就是说,它是指 ECMAScript 262 所描述的语言规范。
目前最常见的实现 ECMAScript 262-3 或 JavaScript 1.5 以上版本规范的引擎包括 1-4 所示的几种: