分类
精读JS高级程序设计

第一章JS简介

JavaScript 实现

  • ECMAScript

    • ECMAScript规定了语法、类型、语句、关键字、保留字、操作符、对象。

    • ES3新增了正则表达式、新控制语句、try-catch异常处理的支持。

    • ES5新增了JSON对象(用于解析和序列化JSON数据)、继承的方法和高级属性定义、严格模式。

    • ES6新增let和const、箭头函数、字符串模版、扩展运算符、默认参数、解构、数组方法(Array.from()Array.of()copyWithin()find()findIndex()fill()includes())、class、Set、Map、字符串扩展(padEndpadStartendsWidthstartsWithincludestrimrepeat

    • ES7新增数组的includes()、指数运算符**

    • ES8新增async/awaitObject.values()Object.entries()、函数参数列表结尾允许逗号、Object.getOwnPropertyDescriptors()ShareArrayBufferAtomics对象,用于从共享内存位置读取和写入

    • ES9新增引入异步迭代器、Promise.finally()、为对象解构提供了和数组一样的Rest参数()和展开操作符、正则表达式命名捕获组(/(?<year>[0-9]{4})-(?<month>[0-9]{2})-(?<day>[0-9]{2})/)、正则表达式反向断言、正则表达式dotAll模式、正则表达式 Unicode 转义、非转义序列的模板字符串

    • ES10新增行分隔符(U + 2028)和段分隔符(U + 2029)符号现在允许在字符串文字中,与JSON匹配、更加友好的 JSON.stringify、Array.prototype.flat()Array.prototype.flatMap()、String的trimStart()方法和trimEnd()方法、Object.fromEntries()Symbol.prototype.descriptionString.prototype.matchAllFunction.prototype.toString()现在返回精确字符,包括空格和注释、修改catch绑定、新的基本数据类型BigInt

  • DOM

    • 文档对象模型是针对XML但经过扩展用于HTML的应用程序编程接口,DOM把整个页面映射成为一个多层级节点结构。

    • DOM1级由两个模块组成:DOM核心和DOM HTML,其中DOM核心规定的是如果映射基于XML的文档结构,以便简化对文档中任意部分的访问和操作;DOM HMTL模块则在DOM核心的基础上加以扩展,添加了针对HTML的对象和方法。

    • DOM2级扩充了鼠标和用户界面事件、范围、遍历等细分模块(DOM视图、DOM事件、DOM样式、DOM遍历和范围),通过对象接口增加了对CSS的支持。

    • DOM3级引入以同一方式加载和保存文档的方法、新增了验证文档的方法。

    • 其他DOM标准:SVG、MathML、SMIL。

  • BOM

    • BOM只处理浏览器窗口和框架,但人们习惯上也把所有针对浏览器JavaScript扩展算作BOM的一部分:
    1. 弹出新浏览器窗口的功能;
    2. 移动、缩放和关闭浏览器窗口的功能;
    3. 提供浏览器详细信息的navigator对象;
    4. 提供浏览器所加载页面的详细信息的location对象;
    5. 提供用户显示器分辨率详细信息的screen对西那个;
    6. 对cookie的支持;
    7. 像XMLHttpRequest和IE的ActiveXObject这样的自定义对象;

发表评论

电子邮件地址不会被公开。 必填项已用*标注