JavaScript简史
JavaScript诞生于1995年,刚出生的它主要用来处理输入验证操作(它为出生前,所有的表单验证都是有服务端处理)。当时绝大多数的英特网用户使用的是速度仅为28.8kbit/s的"猫"(调制调解器)上网,随着网页的复杂度和大小不断增加,为完成简单的表单验证却要频繁和服务器交换数据,不仅会加重服务器的负担,更重要的是还会给用户带来糟糕的体验。试想一下:用户填写了一个调查表单,点击"提交"按钮,等待了30s后,服务器返回一条提示"未填写xxx"(想想就不寒而栗)...所以当时走在互联网技术革新最前沿的Netscape公司,决定开发一种语言用以在客户端处理简单的表单验证--95年2月宣布JavaScript 1.0诞生。
发展至今,JavaScript已经成为如此强大的编程语言,成为了Web的一个重要组成部分。它是一门学会使用只需片刻,真正掌握待需数年的语言,对它我们当不骄不躁,不离不弃。要完全掌握JavaScript需要知道它的本质、历史以及局限性。
JavaScript常识
虽然JavaScript和ECMAScript通常被人们表达相同的含义,但事实上JavaScript的含义不止于此。JavaScript由3个不同的组成成分实现:ECMAScript(核心)、文档对象模型-DOM、浏览器对象模型-BOM。
ECMAScript是对实现ECMA-262标准(该标准规定了这门语言的语法、类型、语句、关键词、保留字、操作符、对象)的语言的描述,不与任何Web浏览器绑定,Web浏览器知识ECMAScript的宿主之一,宿主环境提供ECMAScript实现以及该语言的扩展。
文档对象模型(DOM)是针对XML但是经过扩展用于HTML的应用程序编程接口。DOM把整个页面映射为一个多层节点结构,HTML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同的数据。借助DOM我们可以自由地添加、删除、替换或修改任何节点。
浏览器对象模型(BOM)可以对浏览器窗口进行访问和操作,使用BOM,开发者可以移动窗口、改变状态栏的文本以及执行其他与页面内容不直接相关的动作(操作浏览器显示的页面以外的部分)。BOM主要处理浏览器的窗口和框架,不过通常浏览器特定的JavaScript扩展都被看作BOM的一部分,这些扩展包括:
- 弹出新的浏览器窗口
- 移动和关闭浏览器窗口以及调整窗口大小
- 提供Web浏览器详细信息的navigator(导航)对象
- 提供装载到浏览器中页面的详细信息的position对象
- 提供用户屏幕分辨率详细信息的screen对象
- 对cookies的支持
- 像XMLHttpReqest和IE的ActiveXObject这样的自定义对象
Ps:大多数浏览器在提及对JavaScript的支持情况时,一般都已ECMAScript兼容性和对DOM的支持情况为准。