第1章
什么是JavaScript
1.1 简短的历史回顾
1995年
- Brendan Eich
- 为即将发布的Netscape Navigator 2 开发的一个叫Mocha(后改名为LiveScript)的脚本语言
- 在Netscape Navigator 2 正式发布前,改名为JavaScript
- JavaScript 1.0非常成功,又在Netscape Navigator 3中发布了1.1版本
1996年
- 微软发布IE3
- 包含自己名为JScript的JavaScript实现
1997年
- JavaScript 1.1 作为提案被交给欧洲计算机制造协会(Ecma)
- 第39技术委员会打造出ECMA-262,即ECMAScript这个新的脚本语言标准
1998年
- 国际化标准组织ISO
- 国际电工委员会IEC
1.2 JavaScript实现
完整的JavaScript实现包含以下几个部分:
核心——ECMAScript
文档对象模型——DOM
浏览器对象模型——BOM
1.2.1 ECMAScript
即ECMA-262定义的语言,并不局限于Web浏览器
-
与ECMA-262的关系
-
ECMAScript是ECMA-262定义的语言,但并不局限于Web浏览器
-
Web浏览器只是ECMAScript实现可能存在的宿主环境
- 宿主环境提供
- ECMAScript的基准实现
- 与环境自身交互必须的扩展
- 扩展使用ECMAScript核心类型和语法,提供特定于环境的额外功能
- 宿主环境提供
-
ECMA-262定义了什么?
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 全局对象
-
ECMAScript只是对实现这个规范描述的所有方面的一门语言的称呼。
- JavaScript实现了ECMAScript
- Adobe ActionScript也实现了ECMAScript
-
-
- ECMAScript版本
也就是描述特定实现的ECMA-262的版本
-
第1版
- 本质与网景JavaScript 1.1 相同
- 删除了特定代码,外加少量细微修改
- 要求支持Unicode标准
- 要求对象与平台无关
-
第6版
- 2015年6月
- 正式支持
- 类
- 模块
- 迭代器
- 生成器
- 箭头函数
- 期约
- 反射
- 代理
- 众多新的数据类型
-
第10版
- 2019年6月
- ECMAScript版本
-
- ECMAScript符合性是什么意思
- ECMA-262阐述了什么是ECMAScript符合性,成为ECMAScript实现,必须满足条件
- 支持ECMA-262中描述的所有“类型、值、对象、属性、函数,以及程序语法与语义”
- 支持Unicode字符标准
-
- 浏览器对ECMAScript的支持
- 略
1.2.2 DOM
- DOM(Document Object Model)是一个应用编程接口(API),用于在HTML中使用扩展的XML
- 节点
- DOM将整个页面抽象为一组分层节点
- HTML或XML页面的每个组成部分都是一种节点,包含不同的数据
- DOM级别
- DOM Level 1
- 1998年10月
- W3C的推荐标准
- 组成
- DOM Core
- DOM HTML
- DOM Level 1
1.2.3 BOM
- IE3和Netscape Navigator 3提供了浏览器对象模型(BOM)API,用于支持访问和操作浏览器的窗口
- 使用BOM,开发者可以操纵浏览器显示页面之外的部分
- 它没有相关标准的JavaScript实现
- BOM主要针对浏览器窗口和子窗口
1.3 JavaScript版本
略
1.4 小结
JavaScript是一门用来与网页交互的脚本语言
- ECMAScript
- 由ECMA-262定义并提供核心功能
- 文档对象模型(DOM)
- 提供与网页内容交互的方法和接口
- 浏览器对象模型(BOM)
- 提供与浏览器交互的方法和接口