- JavaScript 诞生于1995年,当时主要用来负责表单验证操作。
在此之前,绝大多数因特网用户都使用速度仅为28.8kbit/s的“猫”(调制解调器)上网,但网页的大小和复杂度却不断增加。为完成简单的表单验证而频繁地与服务器交换数据只会加重用户负担。想象一下:用户填写完一个表单,单击“提交”按钮,然后等待30s,服务器返回信息说有一个必填字段没填好......所以Netscape公司(网景)决定开发一种客户端语言开处理这种简单的验证。 - 欧洲计算机制造商协会(ECMA,European Computer Manufacturers Assocation)
- JavaScript和ECMAScript通常被用来表达相同含义,但一个完整的JavaScrip由三部分组成:
1.核心(ECMAScript),由ECMA-262定义,提供核心语言功能。
2.文档对象模型(DOM),提供访问和操作页面内容的方法和接口。
3.浏览器对象模型(BOM),提供与浏览器交互的方法和接口。
- 由ECMA-262定义的ECMAScript与Web浏览器没有依赖关系,这门语言本身不包含输入和输出定义。ECMA-262定义的只是这门语言的基础,而在此基础上可以构建更完善的脚本语言。Web浏览器只是ECMAScript实现可能的宿主之一。其他宿主环境包括Node(一种服务端JavaScript平台)和Adobe Flash。JavaScript实现了ECMAScript,Adobe ActionScript 同样也实现了ECMAScript。
- 截至2008年,五大主流Web浏览器(IE、Firefox、Safari、Chrome、Opera)全部做到了与ECMA-262兼容。
- DOM是针对XML但经过扩展用于HTML的API,DOM把整个页面映射为一个多层节点结构,HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。如下面的HTML页面:
<html>
<head>
<title>Sample Page</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
通过DOM创建的表示文档的树形图,开发人员获得控制页面内容和结构的主动权。借助DOM提供的API,开发人员可以轻松的删除、添加、替换和修改任何节点。
- 负责制定Web通信标准的W3C(World Wide Web consortium,万维网联盟)着手规划DOM。
DOM并不只是针对JavaScript的,许多别的语言也实现了DOM。DOM0级实际上是不存在的,所谓DOM0级只是DOM历史坐标中的一个参照点而已,具体指Internet Explorer 4.0 和Netscape Navigator 4.0 最初支持的DHTML。
- 下面的几种语言发布了只针对自己的DOM标准,且都是基于XML的。
1、SVG(可伸缩矢量图)1.0;
2、MathML(数学标记语言)1.0;
3、SMIL(同步多媒体集成语言)。
- BOM
开发人员使用BOM可以控制浏览器显示的页面以外的部分。BOM与众不同的地方在于作为JavaScript实现的一部分却没有相关标准。但在HTML5中得到了解决。