内容均摘自JavaScript高级程序设计第四版,仅用于记录学习过程。
第一章 什么是JavaScript
- 一.历史回顾
- 1.1 简短的历史回顾
- 二.JavaScript是什么
- 1.2 JavaScript实现
- 1.2.1 ECMAScript
- 1.2.2 DOM
- 12.3 BOM
- 三.小结
一.历史回顾
1.1 简短的历史回顾
随着Web的流行,对客户端脚本语言的需求越来越强。为了验证简单的表单,需要与服务器往返通信成为用户的痛点。
想象一下,当你填写完表单,点击“提交”按钮,等待了30s处理才看到一条消息,告诉你有一个必填字段没填写。
- 网景为当时即将发布的Netscape Navigator2开发了一个脚本语言。
- 在Netscape Navigator2正式发布前,将其改名为JavaScript,搭上当时炒作Java的顺风车。
- JavaScript 1.0很成功,这时候微软发布了IE3,其中包括自己名为JScript(为避免与网景发生许可纠纷)的JavaScript实现。
- 这意味着出现了两个版本的JavaScript:Netscape Navigator中的JavaScript, IE 中的 JScript。JavaScript当时还没有规范其语法的标准,两个版本的并存让JavaScript必须踏上标准化的征程。
- 1997年,JavaScript 1.1 交由来自网景、Sun、微软等公司的工程师,来打造这门脚本语言的标准。ECMAScript(发音为“ek-ma-script”)作为新的脚本语言标准诞生。
二.JavaScript是什么
1.2 JavaScript实现
完整的JavaScript实现包含以下部分:
- 核心ECMAScript
- 文档对象模型DOM
- 浏览器对象模型BOM
1.2.1 ECMAScript
- ECMAScript并不局限于Web浏览器,这门语言只是被作为一个基准,以便在其之上构建更稳健的脚本语言。
- Web浏览器只是ECMAScript实现的一种可能的宿主环境。宿主环境提供ECMAScript的基准实现和环境自身交互必需的扩展(比如DOM)。
- ECMAScript定义了什么?
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 全局对象
1.2.2 DOM
文档对象模型(DOM)是一个应用编程接口(API),用于在HTML中使用扩展的XML。
- DOM将整个页面抽象为一组分层结点。
- DOM通过创建文档树,让开发者可以随心所欲地控制网页内容和结构。
- 使用DOM API,可以轻松地删除、添加、替换、修改节点。
- 为什么DOM必需?
- 网景和微软采用不同思路开发动态HTML,导致开发者无法写一个HTML页面就可以在任何浏览器中运行。为了保持Web跨平台的本性,W3C开始制定DOM标准。
12.3 BOM
浏览器对象模型(BOM) API,用于支持访问和操作浏览器的窗口。
- 使用BOM,开发者可以操控浏览器显示页面之外的部分。
- HTML5的出现,改变了BOM没有相关标准的问题
- BOM主要针对浏览器窗口和子窗口(frame),但人们通常把特定于浏览器的扩展都归于BOM
- 弹出新浏览器窗口的能力
- 移动、缩放、关闭浏览器窗口的能力
navigator
对象,提供关于浏览器的详尽信息location
对象,提供浏览器加载页面的详尽信息screen
对象,提供关于用户屏幕分辨率的详尽信息performance
对象,提供浏览器内存占用、导航行为和时间统计的详尽信息- 对
cookie
的支持 - 其他自定义对象,如
XMLHttpRequest
和IE的ActiveXObject
三.小结
JavaScript是一门用来与网页交互的脚本语言,包含以下三个组成部分
- ECMAScript:提供核心功能
- DOM:提供与网页内容交互的方法和接口
- BOM:提供与浏览器交互的方法和接口