JavaScript高级程序设计(第4版) 第一章

提示:本系列文章为个人看红宝书的个人记录备忘


前言

提示:什么是javascript


1995 年,JavaScript 问世 主要用途是代替 Perl 等服务器端语言处理输入验证 在此之前,要验证某个必填字段是否已填写,或者某个输入的值是否有效,需要与服务器的一次往返通信
如今,JavaScript 的应用也不再局限
于数据验证,而是渗透到浏览器窗口及其内容的方方面面。
1997 年,JavaScript 1.1 作为提案被提交给欧洲计算机制造商协会(Ecma)。第 39 技术委员会(TC39)
承担了“标准化一门通用、跨平台、厂商中立的脚本语言的语法和语义”的任务(参见 TC39-ECMAScript)。
TC39 委员会由来自网景、Sun、微软、Borland、Nombas 和其他对这门脚本语言有兴趣的公司的工程师
组成。

一、JavaScript 实现

虽然 JavaScript和 ECMAScript 基本上是同义词,但 JavaScript远远不限于 ECMA-262 所定义的那样。
没错,完整的 JavaScript 实现包含以下几个部分
核心 ECMAScript
文档对象模型 DOM
浏览器对象模型 BOM

二、ECMAScript

1.ECMAScript,即 ECMA-262 定义的语言,并不局限于 Web 浏览器

事实上,这门语言没有输入和
输出之类的方法。ECMA-262 将这门语言作为一个基准来定义,以便在它之上再构建更稳健的脚本语言。
Web 浏览器只是 ECMAScript 实现可能存在的一种宿主环境(host environment)。宿主环境提供
ECMAScript 的基准实现和与环境自身交互必需的扩展。扩展(比如 DOM)使用 ECMAScript 核心类型
和语法,提供特定于环境的额外功能。其他宿主环境还有服务器端 JavaScript 平台 Node.js 和即将被淘汰
的 Adobe Flash

2.ECMA-262 到底定义了什么?

在基本的层面,它描述这门语言的如下部分
语法
类型
语句
关键字
保留字
操作符
全局对象
ECMAScript 只是对实现这个规范描述的所有方面的一门语言的称呼。JavaScript 实现了
ECMAScript,而 Adobe ActionScript 同样也实现了 ECMAScript。

3. DOM

文档对象模型(DOM,Document Object Model)是一个应用编程接口(API),用于在 HTML 中使
用扩展的 XML。DOM 将整个页面抽象为一组分层节点。HTML 或 XML 页面的每个组成部分都是一种节点,包含不同的数据

<html>
	<head>
		<title>page
	</head>
	<body>
		<p>xxxx</p>
	</body>
</html>

3. BOM

使用 BOM,开发者可以操控浏览器显示页面之外的部分 它是唯一一个没有相关标准的 JavaScript 实现 HTML5 改变了这个局面,这个版本的 HTML 以正式规范的形式涵盖了尽可能多的 BOM 特性
总体来说,BOM 主要针对浏览器窗口和子窗口(frame) 下面就是这样一些扩展

比如:
弹出新浏览器窗口的能力
一点缩放 和关闭浏览器窗口的能力
navigator对象 提供关于浏览器的详尽信息
location对象 提供浏览器加载页面的详尽信息
screen对象 提供关于用户屏幕分辩的详尽信息
performance对象 提供浏览器内存占用 导航行为和时间统计的详尽信息
对cookie的支持
对其他自定义对象 入XMLHttpRequest和IE的 ActivateXObject

三、JavaScript 版本

作为网景的继承者,Mozilla 是唯一仍在延续最初 JavaScript 版本编号的浏览器厂商

四、J小结

JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。
 ECMAScript:由 ECMA-262 定义并提供核心功能。
 文档对象模型(DOM):提供与网页内容交互的方法和接口。
 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。
JavaScript 的这三个部分得到了五大 Web 浏览器(IE、Firefox、Chrome、Safari 和 Opera)不同程度
的支持。所有浏览器基本上对 ES5(ECMAScript 5)提供了完善的支持,而对 ES6(ECMAScript 6)和
ES7(ECMAScript 7)的支持度也在不断提升。这些浏览器对 DOM 的支持各不相同,但对 Level 3 的支
持日益趋于规范。HTML5 中收录的 BOM 会因浏览器而异,不过开发者仍然可以假定存在很大一部分
公共特性


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值