# 前言
我写这本教程,主要原因是自己需要。
编程时,往往需要查阅资料,确定准确用法。理想的 JavaScript 参考书,应该简明易懂,一目了然,告诉我有哪些注意点,提供代码范例。如果涉及重要概念,还应该适当讲解。可是大多数时候,现实都不是如此。找到的资料冗长难懂,抓不住重点,有时还很陈旧,跟不上语言标准和浏览器的快速发展,且大多数是英文资料。
学习过程中,我做了很多 JavaScript 笔记。多年累积,数量相当庞大。遇到问题,我首先查自己的笔记,如果笔记里没有,再到网上查,最后回过头把笔记补全。终于有一天,我意识到可以把笔记做成书,这就是这本书的由来。
正因为脱胎于笔记,这本教程跟其他 JavaScript 书籍有所不同。作为教程,本书对所有重要概念都进行了讲解,努力把复杂的问题讲得简单,希望一两分钟内就能抓住重点。本书还可以作为参考手册,罗列了主要用法和各种 API 接口,并给出可以立即运行的代码。所有章节按照语言的 API 编排,方便以后的查阅。
如果你发现某处出现陌生的新概念,请不要担心,可以继续阅读下去。以后查阅这些章节的时候,你会发现很方便找到某个知识点相关的所有内容。
- 前言
- 入门篇
- 导论
- 历史
- 基本语法
- 数据类型
- 概述
- null,undefined 和布尔值
- 数值
- 字符串
- 对象
- 函数
- 数组
- 运算符
- 算术运算符
- 比较运算符
- 布尔运算符
- 二进制位运算符
- 其他运算符,运算顺序
- 语法专题
- 数据类型的转换
- 错误处理机制
- 编程风格
- console 对象与控制台
- 标准库
- Object 对象
- 属性描述对象
- Array 对象
- 包装对象
- Boolean 对象
- Number 对象
- String 对象
- Math 对象
- Date 对象
- RegExp 对象
- JSON 对象
- 面向对象编程
- 实例对象与 new 命令
- this 关键字
- 对象的继承
- Object 对象的相关方法
- 严格模式
- 异步操作
- 概述
- 定时器
- Promise 对象
- DOM
- 概述
- Node 接口
- NodeList 接口,HTMLCollection 接口
- ParentNode 接口,ChildNode 接口
- Document 节点
- Element 节点
- 属性的操作
- Text 节点和 DocumentFragment 节点
- CSS 操作
- Mutation Observer API
- 事件
- EventTarget 接口
- 事件模型
- Event 对象
- 鼠标事件
- 键盘事件
- 进度事件
- 表单事件
- 触摸事件
- 拖拉事件
- 其他常见事件
- GlobalEventHandlers 接口
- 浏览器模型
- 浏览器模型概述
- window 对象
- Navigator 对象,Screen 对象
- Cookie
- XMLHttpRequest 对象
- 同源限制
- CORS 通信
- Storage 接口
- History 对象
- Location 对象,URL 对象,URLSearchParams 对象
- ArrayBuffer 对象,Blob 对象
- File 对象,FileList 对象,FileReader 对象
- 表单,FormData 对象
- IndexedDB API
- Web Worker
- 附录:网页元素接口
- a
- img
- form
- input
- button
- option
- video,audio