JavaScript诞生于1995年,诞生之初是用来做客户端数据校验,节省与服务器的网络交互,因为当时拨号上网实在是太慢了。JavaScript发展至今,已经成为全能型语言。
发展历史
Netscape公司开发名为LiveScript的脚本语言,因为Java太流行了,所以改名为JavaScript,现在叫榜名牌
由于JavaScript1.0非常成功,IE浏览器在3.0加入对JavaScript的实现,成为JScript,最终将Netscape干趴下
还有一家名为ScriptEase实现的CEnvi,截止目前,三家公司实现了三个版本的JavaScript
1997年,JavaScript开始标准化,标准名为ECMAScript,ECMA为欧洲计算机制造商协会(European Computer Manufacturers Association)的简写
JavaScript实现
其实JavaScript包括三个不同部分组成,ECMAScript标准(核心),DOM(文档对象模型),BOM(浏览器对象模型)
ECMAScript
ECMAScript和Web浏览器没有依赖关系,Web浏览器只是ECMAScript的宿主环境之一,同时,Web浏览器也会对ECMAScript提供扩展,以便语言和环境进行交互。扩展如DOM,BOM等。其他的宿主环境包括Node,Adobe Flash等,JavaScript实现了ECMAScript,Adobe ActionScript也实现了ECMAScript
文档对象模型(DOM)
DOM是对XML但经过扩展用于HTML的应用程序编程接口,DOM把整个页面映射为一个多层节点结构,因为有了DOM,开发人员获得了控制页面内容和结构的主动权,喜出望外/(ㄒoㄒ)/~~
为什么要使用DOM
因为实现了DHTML的IE和Netscape Navigator,开发人员第一次获得了不需重新加载网页就可以动态改变网页的外观和内容了,痛哭流涕啊。在Web技术巨大进步的同时,也带来了巨大的问题,两大巨头对于DHTML的实现出现了分歧,为日后的Web前端各种蛋疼了兼容性问题埋下了巨大的隐患。
为了我们这些前端开发人员不加班,不蛋疼,负责制定Web通信的W3C(万维网联盟)开始着手规则DOM(很久以前)
DOM级别
DOM1:DOM核心和DOM HTML
DOM核心规定如何映射基于XML的文档结构
DOM HTML在DOM核心的基础上加以扩展,添加了对HTML的对象和方法
注意:DOM并不是针对JavaScript,很多别的语言也实现了DOM
DOM2:在DOM1基础上扩充了鼠标、UI事件、范围、遍历(迭代DOM文档的方法)等,而且通过对象接口增加了对CSS的支持。DOM1中的DOM核心经过扩展支持XML命名空间
新增DOM视图,DOM事件,DOM样式,DOM遍历和范围
DOM3:在DOM加载和保存模块中定义了以统一方式加载和保存文档的方法,在DOM验证模块中定义验证文档的方法。对DOM核心进行扩展,开始支持XML1.0规范
其他DOM标准
- SVG(可伸缩矢量图)
- MathML(数学标记语言)
- SMIL(多媒体集成语言)
还有另外一些语言也开发了自己的DOM实现,例如Mozilla的XUL(XML用户界面语言)
Web浏览器对DOM的支持
DOM123分别在不同的浏览器版本中得到支持
浏览器对象模型(BOM)
开发人员使用BOM可以控制浏览器显示的页面以外的部分,BOM一直没有相关标准,直到HTML5才得以开始解决
BOM可以:
- 弹出新浏览器窗口
- 移动、缩放、关闭浏览器窗口的功能
- 提供浏览器详细的navigator对象
- 提供浏览器所加载页面的详细信息的location对象
- 提供screen对象
- cookies
网友评论