《现代 JavaScript 教程》阅读进度

Posted by cody1991 on January 18, 2021

始于 2021 年 01 月 18 号

来自 现代 JavaScript 教程

  • JavaScript 编程语言 (02.02 读完第一部分~)

    • 简介

      • JavaScript 简介 (01.18)
      • 手册与规范 (01.18)
      • 代码编辑器 (01.18)
      • 开发者控制台 (01.18)
    • JavaScript 基础知识

      • Hello, world! (01.18)
      • 代码结构 (01.18)
      • 现代模式,”use strict” (01.18)
      • 变量 (01.18)
      • 数据类型 (01.19)
      • 交互:alert、prompt 和 confirm (01.19)
      • 类型转换 (01.19)
      • 基础运算符,数学 (01.19)
      • 值的比较 (01.19)
      • 条件分支:if 和 ‘?’ (01.19)
      • 逻辑运算符 (01.20)
      • 空值合并运算符 ‘??’ (01.20)
      • 循环:while 和 for (01.20)
      • “switch” 语句 (01.20)
      • 函数 (01.20)
      • 函数表达式 (01.20)
      • 箭头函数,基础知识 (01.20)
      • JavaScript 特性 (01.20)
    • 代码质量

      • 在 Chrome 中调试 (01.20)
      • 代码风格 (01.20)
      • 注释 (01.20)
      • 忍者代码 (01.20)
      • 使用 Mocha 进行自动化测试 (01.21)
      • Polyfill (01.21)
    • Object(对象):基础知识

      • 对象 (01.21)
      • 对象引用和复制 (01.21)
      • 垃圾回收 (01.21)
      • 对象方法,”this” (01.21)
      • 构造器和操作符 “new” (01.21)
      • 可选链 “?.” (01.21)
      • Symbol 类型 (01.21)
      • 对象 — 原始值转换 (01.21)
    • 数据类型

      • 原始类型的方法 (01.21)
      • 数字类型 (01.21)
      • 字符串 (01.21)
      • 数组 (01.21)
      • 数组方法 (01.21)
      • Iterable object(可迭代对象) (01.25)
      • Map and Set(映射和集合) (01.25)
      • WeakMap and WeakSet(弱映射和弱集合) (01.25)
      • Object.keys,values,entries (01.26)
      • 解构赋值 (01.26)
      • 日期和时间 (01.26)
      • JSON 方法,toJSON (01.26)
    • 函数进阶内容

      • 递归和堆栈 (01.27)
      • Rest 参数与 Spread 语法 (01.27)
      • 变量作用域,闭包 (01.27)
      • 旧时的 “var” (01.27)
      • 全局对象 (01.27)
      • 函数对象,NFE (01.27)
      • “new Function” 语法 (01.27)
      • 调度:setTimeout 和 setInterval (01.28)
      • 装饰器模式和转发,call/apply (01.28)
      • 函数绑定 (01.28)
      • 深入理解箭头函数 (01.28)
    • 对象属性配置

      • 属性标志和属性描述符 (01.29)
      • 属性的 getter 和 setter (01.29)
    • 原型,继承

      • 原型继承 (01.30)
      • F.prototype (01.30)
      • 原生的原型 (01.30)
      • 原型方法,没有 proto 的对象 (01.30)
      • Class 基本语法 (01.30)
      • 类继承 (01.30)
      • 静态属性和静态方法 (01.30)
      • 私有的和受保护的属性和方法 (01.30)
      • 扩展内建类 (01.30)
      • 类检查:”instanceof” (01.30)
      • Mixin 模式 (01.30)
    • 错误处理

      • 错误处理,”try..catch” (01.30)
      • 自定义 Error,扩展 Error (01.30)
    • Promise,async/await

      • 简介:回调 (02.01)
      • Promise (02.01)
      • Promise 链 (02.01)
      • 使用 promise 进行错误处理 (02.01)
      • Promise API (02.01)
      • Promisification (02.01)
      • 微任务(Microtask) (02.01)
      • Async/await (02.01)
    • Generator,高级 iteration

      • Generator (跳过)
      • 异步迭代和 generator (跳过)
    • 模块

      • 模块 (Module) 简介 (02.02)
      • 导出和导入 (02.02)
      • 动态导入 (02.02)
    • 杂项

      • Proxy 和 Reflect (02.02)
      • Eval:执行代码字符串 (02.02)
      • 柯里化(Currying) (02.02)
      • Reference Type (02.02)
      • BigInt (02.02)
  • 浏览器:文档,事件,接口 (02.09 读完第二部分~)

    • Document

      • 浏览器环境,规格 (02.02)
      • DOM 树 (02.02)
      • 遍历 DOM (02.02)
      • 搜索:getElement,querySelector (02.02)
      • 节点属性:type,tag 和 content (02.02)
      • 特性和属性(Attributes and properties) (02.02)
      • 修改文档(document) (02.02)
      • 样式和类 (02.04)
      • 元素大小和滚动 (02.04)
      • Window 大小和滚动 (02.04)
      • 坐标 (02.04)
    • 事件简介

      • 浏览器事件简介 (02.05)
      • 冒泡和捕获 (02.05)
      • 事件委托 (02.05)
      • 浏览器默认行为 (02.05)
      • 创建自定义事件 (02.05)
    • UI 事件

      • 鼠标事件 (02.08)
      • 移动鼠标:mouseover/out,mouseenter/leave (02.08)
      • 鼠标拖放事件 (02.08)
      • 指针事件 (02.08)
      • 键盘:keydown 和 keyup (02.08)
      • 滚动 (02.08)
    • 表单,控件

      • 表单属性和方法 (02.08)
      • 聚焦:focus/blur (02.08)
      • 事件:change,input,cut,copy,paste (02.08)
      • 表单:事件和方法提交 (02.08)
    • 加载文档和其他资源

      • 页面生命周期:DOMContentLoaded,load,beforeunload,unload (02.09)
      • 脚本:async,defer (02.09)
      • 资源加载:onload,onerror (02.09)
    • 杂项

      • DOM 变动观察器(Mutation observer) (02.09)
      • 选择(Selection)和范围(Range) (02.09)
      • 事件循环:微任务和宏任务 (02.09)
  • 其他文章

    • Frame 和 window

      • 弹窗和 window 的方法
      • 跨窗口通信
      • 点击劫持攻击