一、JavaScript不仅可以在浏览器中执行,也可以在服务端执行,甚至可以在任意搭载了JavaScript 引擎的设备中执行。
    二、浏览器中嵌入了 JavaScript 引擎,有时也称作“JavaScript 虚拟机”。
    三、引擎

    • mozilla.org 上托管了两个 JavaScript 实现:
      • SpiderMonkey:首个 JavaScript 由网景公司的 Brendan Eich 创建,并不断地更新以符合 ECMA-262 Edition 5 及其之后的标准版本。
        • 是由 C/C++ 语言开发的。
        • 有很多优化技术如 TraceMonkey (Firefox 3.5)、JägerMonkey (Firefox 4) 和 IonMonkey 被不断添加到了 SpiderMonkey JavaScript 引擎。
        • Firefox 中的 JavaScript 引擎
      • Rhino引擎:主要由 Norris Boyd(同样也是在网景公司)创建。与 SpiderMonkey 类似,Rhino 符合 ECMA-262 Edition 5 标准。
        • 是一个 Java 语言开发的 JavaScript 实现。
    • 一些流行的 JavaScript 引擎:
      • Google 的 V8:在 Google Chrome浏览器和较新的 Opera浏览器中使用。这同时也是Node.js使用的引擎。
      • JavaScriptCore(SquirrelFish/Nitro):被用在了一些 WebKit 浏览器如 Apple Safari。
      • Carakan:用在旧版本 Opera 中。
      • The Chakra引擎:用在Internet Explorer中(尽管它实现的语言被正式地称作为“JScript”来避免商标问题)。
      • “ChakraCore” :Microsoft Edge
      • “Nitro” / “SquirrelFish” :Safari

    四、每个 mozilla.org 的 JavaScript 引擎都提供了 公用API使程序开发者能将其JavaScript嵌入自己的软件中。1、目前最常见的 JavaScript 宿主环境是网页浏览器。浏览器一般通过 API 创建“宿主对象”来负责将DOM 反射到 JavaScript 中。
    2、另一个常见的 JavaScript 应用是作为服务端脚本语言。JavaScript 服务器提供宿主对象代表 HTTP 请求和响应,随后可以通过 JavaScript 程序来动态的生成 Web 页面。Node.js便是一个流行的例子。