JavaScript高级程序设计第四版学习记录-第一章什么是JavaScript

2020年9月第四版
在这里插入图片描述

前言

  • JavaScript与宿主关系密切, 宿主为JavaScript定义了与外界交互所需的全部API: DOM/网络请求/系统硬件/存储/事件/文件/加密/其他API等.
  • 各种浏览器以及JavaScript引擎都按照自己的理解实现了这些规范, 对JavaScript更准确的定位是一组浏览器实现.

第1章 什么是JavaScript

1.1 简短历史回顾

  • 1995年,网景公司Netscape开发的JavaScript问世 (原为LiveScript,为搭上Java的顺风车而改名为JavaScript), 主要用途是代替Perl等服务器端语言处理输入验证. 网景公司希望通过在其Navigator浏览器中加入JavaScript来处理输入验证的问题.
  • 1996年, 微软重磅进入Web浏览器领域, 在其IE3中采用了JScript的JavaScript实现
  • 因此, 出现了两个版本的JavaScript: Netscape Navigator 中的 JavaScriptIE 中的JScript.因此需要有规范JavaScript语法或者特性的标准.
  • 1997年, JavaScript 1.1 作为提案被提交给欧洲计算机制造商协会ECMA. 第 39 技术委员会(TC39)承担了“标准化一门通用、跨平台、厂商中立的脚本语言的语法和语义”的任务。TC39 委员会打造出了 ECMA-262,也就是 ECMAScript 这个新的脚本语言标准
  • 1998 年,国际标准化组织(ISO)和国际电工委员会(IEC)也将 ECMAScript 采纳为标准(ISO/ IEC-16262)。自此以后,各家浏览器均以 ECMAScript 作为自己 JavaScript 实现的依据,虽然具体实现各有不同。

1.2 JavaScript实现

完整的JavaScript实现包括三部分:

  1. 核心 ECMAScript
  2. 文档对象模型 DOM
  3. 浏览器对象模型 BOM 在这里插入图片描述

1.2.1 ECMAScript

  • ECMAScript 即 ECMA-262 定义的语言, 并不局限于Web浏览器, 没有输入输出之类的方法. ECMA-262 将 ECMAScript 作为一个基准来定义, 以便在它之上再构建更稳健的脚本语言.

  • Web 浏览器只是 ECMAScript 实现可能存在的一种宿主环境(host environment)。**宿主环境提供 ECMAScript 的基准实现和与环境自身交互必需的扩展。扩展(比如 DOM)使用 ECMAScript 核心类型和语法,提供特定于环境的额外功能。**其他宿主环境还有服务器端 JavaScript 平台 Node.js 和即将被淘汰的 Adobe Flash。

  • 不涉及浏览器,在基本层面, ECMA-262 描述了语言的如下部分: (语法 / 类型 / 语句 / 关键字 / 保留字 / 操作符 / 全局对象)

  • ECMAScript 只是对实现 ECMA-262 规范描述的所有方面的一门语言的称呼。

  • ES6
    ECMA-262 第 6 版,俗称 ES6、ES2015 或 ES Harmony(和谐版),于 2015 年 6 月发布。这一版包含了大概这个规范有史以来最重要的一批增强特性。ES6 正式支持了类、模块、迭代器、生成器、箭头函数、期约promise、反射、代理和众多新的数据类型。

1.2.1 DOM

  • 文档对象模型DOM (Document Object Model) 是一个应用编程接口 API, 用于在HTML中使用扩展的XML.

XML 指可扩展标记语言
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML旨在显示信息,而 XML 旨在传输信息。

  • DOM 将整个页面抽象为一组分层节点。HTML 或 XML 页面的每个组成部分都是一种节点, 包含不同的数据.
  • DOM 通过创建表示文档的树,让开发者可以随心所欲地控制网页的内容和结构。使用 DOM API,可以轻松地删除、添加、替换、修改节点。
  • 在这里插入图片描述

1.2.3 BOM

  • 访问和操作浏览器窗口的模型称为浏览器对象模型 Browser Object Model. 使用BOM, 开发者可以操作浏览器显示页面之外的部分.
  • BOM 是唯一没有相关标准的JavaScript实现,每个浏览器实现的都是自己的BOM,但存在兼容性问题.——HTML5 解决了这个局面,以正式规范的形式涵盖了尽可能多的BOM特性。

1.4 小结

JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。
 ECMAScript:由 ECMA-262 定义并提供核心功能。
 文档对象模型(DOM):提供与网页内容交互的方法和接口。
 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。

JavaScript 的这三个部分得到了五大 Web 浏览器(IE、Firefox、Chrome、Safari 和 Opera)不同程度的支持。所有浏览器基本上对 ES5 ECMAScript 5)提供了完善的支持,而对 ES6(ECMAScript 6)和 ES7(ECMAScript 7)的支持度也在不断提升。这些浏览器对 DOM 的支持各不相同,但对 DOM Level 3 的支持日益趋于规范。HTML5 中收录的 BOM 会因浏览器而异,不过开发者仍然可以假定存在很大一部分公共特性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值