历史
- javascript诞生于1995年,那个年代人们普遍使用电话拨号上线,网速和现在比很渣,很慢。当时例如表单提交的一些基础检验操作(例如:字段是否为空,长度是否合法等等)需要服务器来做校验,上网的普通人民生活在水生火热之中。
- 这个时候,就职于Netscape(网景)公司的Brendan Eich 开发了一个脚本语言LiveScript来处理这种表单验证。当时Netscape和sun公司有合作,为了搭上当时大火的java顺风车炒作一把,发布的时候改名为javascript。发布之后果然大火,果然炒作还是有用的。(脑补一下现在的明星)
- 之后就是网景和微软的浏览器大战,两个公司的javascript版本当然是两个。想想当时的开发者是真的苦逼啊~~~~!
- 有问题当然要解决,于是欧洲计算机制造商协会(ECMA)指定39号技术委员会负责“标准化一种通用,跨平台,供应商中立的脚本语言的语法和语义”。这个技术委员会的成员来自个各关注脚本语法发展的公司(包括网景和微软,以及一些不知名的其他公司)。然后ECMAScript就诞生了,他是javascript的标准。
javascript的组成
javascript由三部分组成(ECMAScript, DOM, BOM)
ECMAScript
ECMAScript是核心,不依赖于宿主环境(例如浏览器,node, Flash),定义了javascript的基础,包括:
- 语法
- 语句
- 类型
- 关键字
- 保留字
- 操作符
- 对象
这里说下ECMA版本的问题,你可能听过es5, es6, es2015等等。es5是ECMAScrpt的第五版,es6就是第六版。之后ECMA规划的是每年6月发布一个版本。es2015就是2015年发布的版本(相当于es6的第一个版本,因为es6中定义很多新的标准,es2015只实现了其中的一部分)。es2016就是2016年6月发布的版本。而今年发布的版本就是es2017
DOM
文档对象模型(DOM)是针对HTML的应用程序编程接口。通过DOM,开发人员可以控制页面内容和增删改查DOM节点,棒棒的。但是当年网景和微软浏览器大战的时候支持不同的DHTML(Dynamic HTML),唉~神仙打架,凡人遭殃。这个时候,负责制定Web通信标准的W3C开始规范DOM标准。
DOM1级由两部分组成:
- DOM核心
规定了 如何映射基于XML的文档结构,简化对文档中的访问和操作, - DOM HTML
在DOM核心上做了扩展,添加了针对HTML的对象和方法。
DOM2级引入了新模块,包括:
- DOM 视图
- DOM 事件
- DOM 样式
- DOM 遍历和范围
DOM3级进一步扩展了DOM,引入了统一方式加载和保存文档的方法。开始支持XML 1.0规范等等。
IE9+ 完美的支持DOM1,2,3(现代浏览器基本不用顾忌DOM的兼容性问题,当然如果你需要支持IE7和IE8的话,那就。。。)
BOM
浏览器对象模型(BOM),就是浏览器的访问和操作的API。例如lcoation,
navigator,cookies等等。虽然存在一些标准,但是各个浏览器之间是存在兼容性问题的,HTML5致力于把很多BOM的功能写入正式规范。
总结
第一章基本就是将历史,了解下就可以。
引用
javascript 高级程序设计第三版
ECMAScript 6简介