JavaScript高级程序设计3:第1章 JavaScript 简介

1.1 JavaScript简史

JavaScript诞生于1995年。当时,它的主要目的是处理以前由服务器端语言(如 Perl)负责的一些输入验证操作。在没有JavaScript的时候,所有输入验证操作都必须由服务器端进行验证,在那个年代,人们还普遍使用电话拨号上网,导致了与服务器的每一次数据交换都成为了对人们耐心的考验。

发展时间线

1995-02:Netscape开发JavaScript 1.0完毕 1996-08:微软开发JScript,与Netscape相竞争 1997:ECMA(欧洲计算机制造商协会)指定TC39技术委员会进行JavaScript和JScript的标准化进程,数月之后 ECMAScript出现了 1998:ISO/IEC也将ECMAScript作为标准,从此,浏览器开发商就以ECMAScript作为各自JavaScript实现的基础

1.2 JavaScript实现

JavaScript的内容比ECMAScript多得多。由下列三个重要组成部分:

1. ECMAScript —— 核心:对实现该标准规定的各个方面内容的语言描述,ECMAScript是标准,JavaScript是对ECMAScript的实现。本书基于ES5(ECMAScript5)进行讲解,即于2009年12月3日发布的版本。
​
2. 文档对象模型(DOM) —— 文档对象模型:其将整个页面映射为一个多层结点的结构,提供访问和操作页面内容的方法和接口。DOM1(映射结构)、DOM2(视图、事件、样式,遍历和范围)、DOM3级(扩展:统一方式加载和保存文档、文档验证、对DOM核心进行扩展)。
​
3. 浏览器对象模型(BOM) —— 浏览器对象模型:提供与浏览器交互的方法和接口。

JavaScript 的这三个组成部分,在当前五个主要浏览器(IE、Firefox、Chrome、Safari 和 Opera)中 都得到了不同程度的支持。其中,所有浏览器对 ECMAScript 第 3 版的支持大体上都还不错,而对 ECMAScript 5 的支持程度越来越高,但对 DOM 的支持则彼此相差比较多。对已经正式纳入 HTML5 标 准的 BOM 来说,尽管各浏览器都实现了某些众所周知的共同特性,但其他特性还是会因浏览器而异。

1.2.1 ECMAScript

ECMAScript是一个标准,它规定了脚本语言的基础,如基本数据类型,语法规范,操作符等,应注意的是它与web浏览器并没有依赖关系;而JavaScript是ECMAScript的一种实现,依赖于浏览器环境,并根据浏览器的特性扩展了ECMAScript如DOM,便于语言与环境之间的交互。其它ECMAScript的宿主环境如Node和Adobe Flash。

ECMAScript规定了什么内容?

  • 语法

  • 类型

  • 语句

  • 关键字

  • 保留字

  • 操作符

  • 对象

这里可以这样理解:ECMAScript 就是对实现该标准规定的各个方面内容的语言的描述。如“应该有什么数据类型”,“应该怎么定义对象”,“循环、判断语句怎么写”类似的问题,但ECMAScript不作具体实现。

1.2.2 文档对象模型(DOM)

文档对象模型(DOM,Document Object Model)是针对XML但经过扩展用于HTML的应用程序编程接口。

DOM把整个页面映射为一个多层节点结构。使得开发人员能够方便的控制页面的内容和结构,轻松自如地删除、添加、替换和修改任何节点。

1. 为什么要使用DOM?

DOM亦是一个标准,目的是解决由于DHTML的出现造成的问题–由于Netscape和微软在开发DHTML方面各持己见,只编写一个HTML页面就能够在任何浏览器中运行的时代结束了。W3C联盟为了继续保持web跨平台的特性,着手制定了DOM标准。

2. DOM级别

DOM1级:

  • DOM核心:规定如何映射基于XML的文档结构,简化对文档中任意部分的访问和操作

  • DOM HTML:在DOM核心的基础上加以扩展,添加针对HTML的对象和方法

DOM2级:

  • DOM视图:定义了跟踪不同文档视图的接口

  • DOM事件:定义了事件和事件处理的接口

  • DOM样式:定义了基于CSS为元素应用样式的接口

  • DOM遍历和范围:定义了遍历和操作文档树的接口

DOM3级

  • DOM加载和保存

  • DOM验证

  • 对DOM核心加以扩展,支持XML1.0规范

3. 其它DOM标准

  • SVG:可伸缩矢量图

  • MathML:数学标记语言

  • SMIL:同步多媒体集成语言

这三个标准也是W3C的推荐标准,各自添加了与自己相关的新方法和新接口。

应注意的是,DOM并不只是针对JavaScript的,很多别的语言也实现了DOM,不过,在web浏览器中,基于ECMAScript实现的DOM的确已经称为JavaScript这门语言的一个重要组成部分。实际上,对于XML,HTML,SVG,MathML,SMIL,JavaScript均已实现了它们所规定的DOM接口,可以轻松访问。

具体到JavaScript,即是JavaScript实现了DOM标准,将页面文档映射为了一个对象。

1.2.3 浏览器对象模型(BOM)

BOM可以访问和操作浏览器窗口,开发人员使用BOM可以控制浏览器显示页面以外的部分。

人们习惯上把针对浏览器的JavaScript扩展算作BOM的一部分,主要包括:

  • 弹出新浏览器窗口

  • 移动、缩放、关闭浏览器窗口

  • 提供浏览器详细信息的navigator对象

  • 提供浏览器所加载页面的详细信息的location对象

  • 提供用户显示器分辨率详细信息的screen对象

  • 对cookies的支持

小结

JavaScript是一种专为与网页交互而设计的脚本语言,由以下三部分组成:

  • ECMAScript,提供核心语言功能

  • 文档对象模型(DOM),提供访问和操作网页内容的方法和接口

  • 浏览器对象模型(BOM),提供与浏览器交互的方法和接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值