http://www.w3school.com.cn/js/pro_js_implement.asp
出自《javascript高级程序设计(第3版)》
1.1 javascript简史
1997年,以javascript 1.1为蓝本的建议被提交给了欧洲计算机制造商协会(ecma,european computer manufacturers association)。
该协会指定39号技术委员会(tc39,technical committee #39)负责“标准化一种通用、跨平台、供应商中立的脚本语言的语法和语义”(http://www.ecmainternational.org/memento/tc39.htm)。
tc39由来自netscape、sun、微软、borland及其他关注脚本语言发展的公司的程序员组成,他们经过数月的努力完成了ecma-262——定义一种名为ecmascript(发音为“ek-ma-script”)的新脚本语言的标准。
1.2 javascript实现
尽管 ecmascript 是一个重要的标准,但它并不是 javascript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 javascript 实现是由以下 3 个不同部分组成的:
核心(ecmascript)
文档对象模型(dom)
浏览器对象模型(bom)
ecmascript与web浏览器没有依赖关系。实际上,这门语言本身并不包含输入和输出定义。
我们常见的web浏览器只是ecmascript实现可能的宿主环境之一。
宿主环境不仅提供基本的ecmascript实现,同时也会提供该语言的扩展,以便语言与环境之间对接交互。
而这些扩展——如dom,则利用ecmascript的核心类型和语法提供更多更具体的功能,以便实现针对环境的操作。
其他宿主环境包括node和adobe flash。
简单地说,ecmascript 描述了以下内容:
语法
类型
语句
关键字
保留字
运算符
对象
ecmascript 仅仅是一个描述,定义了脚本语言的所有属性、方法和对象。其他语言可以实现 ecmascript 来作为功能的基准,
javascript实现了ecmascript,adobe actionscript同时也实现了ecmascript。
文档对象模型(dom,document object model)是针对xml但经过扩展用于html的应用程序编成接口。
dom把整个页面映射为一个多层节点结构。
html或xml页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。
bom可以对浏览器窗口进行访问和操作。
使用 bom,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。
使 bom 独树一帜且又常常令人怀疑的地方在于,它只是 javascript 的一个部分,没有任何相关的标准。这个问题在html5中得到了解决。
bom 主要处理浏览器窗口和框架,不过通常浏览器特定的 javascript 扩展都被看做 bom 的一部分。这些扩展包括:
弹出新的浏览器窗口
移动、关闭浏览器窗口以及调整窗口大小
提供 web 浏览器详细信息的定位对象
提供用户屏幕分辨率详细信息的屏幕对象
对 cookie 的支持
ie 扩展了 bom,加入了 activexobject 类,可以通过 javascript 实例化 activex 对象
1.3 javascript版本
https://www.w3schools.com/js/js_versions.asp