结论先行:
JavaScript是一门用来与网页交互的脚本语言
包含以下三个组成部分。
- ECMAScript:由ECMA-262定义并提供核心功能。
- 文档对象模型(DOM):提供与网页内容交互的方法和接口。
- 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。
JavaScript的这三个部分得到了五大Web浏览器的支持(IE,Firefox,Chrome,Safari,Opera)不同的支持。
所有浏览器对ES5(ECMAScript5)提供了完善支持,而对ES6,ES7的支持也不断上升。
这些浏览器对DOM的支持各不相同,但日趋规范;HTML5中收录的BOM会因浏览器而异。
ECMAScript
ECMAScript是一种语言。Web浏览器只是ECMAScript实现可能存在的一种宿主环境。
宿主环境提供ECMAScript的基准实现和与环境自身交互必需的扩展。扩展(比如DOM)使用ECMAScript核心类型和语法,提供特定于环境的额外功能。
其他宿主环境还有服务器端JavaScript平台Node.js和即将被淘汰的Adobe Flash