js,1995年。当时它主要用来处理由服务器端语言负责的一些输入验证操作。js之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填项,是否输入了无效的值。
如今,js的用途不再局限于简单的数据验证,而是具备了与浏览器窗口及其内容等几乎所有方面交互的能力。手机浏览器、专为残障人士设计的浏览器等非常规浏览器都支持他。
一个完整的js实现应由下列三个不同的部分组成:
1.核心(ECMAScript)
2.文档对象模型(DOM)
3.浏览器对象模型(BOM)
由ECMA-262定义的ECMAScript与Web浏览器没有依赖关系,web浏览器只是ECMAScript实现的宿主环境之一。宿主环境不仅提供基本的ECMAScript实现,同时也会提供该语言的扩展(如DOM),以便语言与环境之间对接交互。其他宿主环境包括Node和Adobe Flash。
文档对象模型(DOM)是针对XML但经过扩展用于HTML的应用程序编程接口(API)。DOM把整个页面映射为一个多层节点结构。HTML和XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同数据的类型,如DOM图。
DOM1级:映射文章结构
DOM2级:DOM 视图、DOM事件、DOM样式、DOM遍历和范围
DOM3级:以统一方式加载和保存文档的方法、验证文档的方法
其他DOM 标准:SVG(可伸缩矢量图)、MathML(数学标记语言)、SMIL(同步多媒体集成语言)
浏览器对象模型(BOM),可以访问和操作浏览器窗口。根本上,BOM只处理浏览器窗口和框架,但习惯上把针对浏览器的js扩展算作BOM的一部分:弹出新浏览器、移动,缩放和关闭浏览器窗口、提供浏览器详细此案系的navigator对象、提供浏览器所加载页面的lacation对象、提供用户显示器分辨率详细信息的screen对象、对cookies的支持、像xmlhttprequest和IE的activeobject这样的自定义对象。