JavaScript4+第1章

第1章

1.1JavaScipt

JavaScript= 核心(ECMAScript)+ 文档对象模型(DOM)+ 浏览器对象模型(BOM)

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 会因浏览器而异,不过开发者仍然可以假定存在很大一部分公共特性

1.1.1ECMAScript(核心)

1.基本概括

ECMAScript(ECMA-262)宿主环境:Web浏览器(主流)+服务器端 JavaScript平台 Node.js+Adobe Flash(淘汰ing)

宿主环境定义:提供 ECMAScript的基准实现和与环境自身交互必需的扩展(DOM)

小注:ECMAScript没有输入和 输出之类的方法

在不涉及浏览器时:

ECMA-262定义=  语法 + 类型 + 语句+  关键字+  保留字 + 操作符 + 全局对象

ECMAScript 只是对实现这个规范描述的所有方面的一门语言的称呼。JavaScript 实现了 ECMAScript,而 Adobe ActionScript同样也实现了 ECMAScript。

2.不同版本新规范

ES6(ES2015):类、模块、迭代器、生成器、箭头 函数、期约、反射、代理和众多新的数据类型。

ES7(ES2016): Array.prototype.includes 和指数操作符。

ES8(ES2017):异步函数(async/ await)、SharedArrayBuffer 及 Atomics API,以及Object.values()/Object.entries()/Object. getOwnPropertyDescriptors()和字符串填充方法,另外明确支持对象字面量后的逗号。

ES9(ES2018):异步迭代、剩余和 扩展属性、一组新的正则表达式特性、Promise finally(),以及模板字面量修订。

ES10(ES2019): Array.prototype. flat()/flatMap()、String.prototype.trimStart()/trimEnd()、Object.fromEntries()方 法,以及 Symbol.prototype.description 属性,明确定义了 Function.prototype.toString() 的返回值并固定了 Array.prototype.sort()的顺序。另外,这次修订解决了与 JSON字符串兼容的 问题,并定义了 catch 子句的可选绑定。

1.1.2DOM

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

DOM并非只能通过 JavaScript访问,而且确实被其他很多语言实现了。不过对于浏览器来说,DOM就是使用 ECMAScript实现的,如今已经成为 JavaScript语言的一大组成部分。

1.1.3BOM

BOM 主要针对浏览器窗口和子窗口(frame),它是唯一一个没有相关标准的 JavaScript实现,每个浏览器都会给它们定义自己的属性和方法。现在有了 HTML5,BOM的实现细节应该会日趋一致。

 弹出新浏览器窗口的能力;

 移动、缩放和关闭浏览器窗口的能力;

 navigator 对象,提供关于浏览器的详尽信息;

 location 对象,提供浏览器加载页面的详尽信息;

 screen 对象,提供关于用户屏幕分辨率的详尽信息;

 performance 对象,提供浏览器内存占用、导航行为和时间统计的详尽信息;

 对 cookie的支持;

 其他自定义对象,如 XMLHttpRequest 和 IE的 ActiveXObject。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值