ECMAScript 2020 文档 , ES11文档
ECMAScript 文档说明
本文档是 JavaScript 种的 ECMAScript 部分的 API
本文档目前覆盖了最新 ECMAScript 的草案,也就是 ECMAScript2020 。
一个完整的 javascript 实现应该有下列三个不同部分组成:
-
ECMAScript
:提供核心语言功能,是核心,规定了这们语言的书写规范;(本文档属于介绍这部分的)var axi="阿西河前端教程"
-
DOM
:提供访问和操作网页内容的方法和接口,(document object model 简称 DOM 文档对象模型)var oDiv=document.getElementById("div1"); oDiv.innerText="现在已经被我占领了";
-
BOM
:提供与浏览器交互的方法和接口;BOM 最蛋疼的部分是没有统一的标准;从根本上讲 BOM 只处理浏览器窗口和框架,(browser object model 简称 BOM 浏览器对象模型)windows.location.href
关于 ECMASScript/DOM 和 BOM 的解释,可以参考 JavaScript 由哪些部分组成
JavaScript 的标准是 ECMAScript。
所有的现代浏览器都完整的支持 ECMAScript 5.1,旧版本的浏览器至少支持 ECMAScript 3 标准。
2015 年 6 月 17 日,ECMA 国际组织发布了 ECMAScript 的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为 ECMAScript 6 或者 ES6。
自 ES6 以后 ECMAScript 每年发布一次新标准。
一:ECMAscript 基本概念
JavaScript 应用程序是由许多语法正确的语句组成的,单个语句可以跨多行。
ECMAScript 就是描述这门语言,哪些可以做,哪些不能做
比如,下面的合法 JS 代码和不合法 JS 代码
变量声明
语法
数据类型
语句
控制流程语句
函数和类
循环 / 迭代器
其它语句
操作符
基础表达式
左侧表达式
递增和递减
一元运算符
算术运算符
关系运算符
相等与相同
按位移位运算符
按位运算符
逻辑运算符
三元条件运算符
赋值运算符
逗号运算符
非标准功能
二:全局的对象
本章介绍和说明了 JavaScript 中所有的标准的内置对象、以及它们的方法和属性。
全局的对象或称标准内置对象,不要和 “全局对象(global object)” 混淆。这里说的全局的对象是说在全局作用域里的对象。“全局对象 (global object)”可以在全局作用域里,通过 this 访问(但只有在 ECMAScript 5 的非严格模式下才可以,在严格模式下得到的是 undefined)。
实际上,全局作用域包含了全局对象的属性,还有它可能继承来的属性。
分享给大家一段实用的判断类型方法
let _typeof = function (data) {
let value = /\[object (\w+)\]/.exec(
Object.prototype.toString.call(data)
);
return value ? value[1].toLowerCase() : '';
}
值属性
这些全局属性返回一个简单值,这些值没有自己的属性和方法。
函数属性
全局函数可以直接调用,不需要在调用时指定所属对象,执行结束后会将结果直接返回给调用者。
- eval()
- uneval()
- isFinite()
- isNaN()
- parseFloat()
- parseInt()
- decodeURI()
- decodeURIComponent()
- encodeURI()
- encodeURIComponent()
- escape()
- unescape()
基本对象
顾名思义,基本对象是定义或使用其他对象的基础。基本对象包括一般对象、函数对象和错误对象。
数字和日期对象
字符串与正则
用来表示和操作字符串的对象。
可索引的集合对象
这些对象表示按照索引值来排序的数据集合,包括数组和类型数组,以及类数组结构的对象。
使用键的集合对象
这些集合对象在存储数据时会使用到键,支持按照插入顺序来迭代元素。
结构化数据
这些对象用来表示和操作结构化的缓冲区数据,或使用 JSON (JavaScript Object Notation)编码的数据。
控制抽象对象
代理
国际化
为了支持多语言处理而加入 ECMAScript 的对象。