# 前言

我写这本教程，主要原因是自己需要。

编程时，往往需要查阅资料，确定准确用法。理想的 JavaScript 参考书，应该简明易懂，一目了然，告诉我有哪些注意点，提供代码范例。如果涉及重要概念，还应该适当讲解。可是大多数时候，现实都不是如此。找到的资料冗长难懂，抓不住重点，有时还很陈旧，跟不上语言标准和浏览器的快速发展，且大多数是英文资料。

学习过程中，我做了很多 JavaScript 笔记。多年累积，数量相当庞大。遇到问题，我首先查自己的笔记，如果笔记里没有，再到网上查，最后回过头把笔记补全。终于有一天，我意识到可以把笔记做成书，这就是这本书的由来。

正因为脱胎于笔记，这本教程跟其他 JavaScript 书籍有所不同。作为教程，本书对所有重要概念都进行了讲解，努力把复杂的问题讲得简单，希望一两分钟内就能抓住重点。本书还可以作为参考手册，罗列了主要用法和各种 API 接口，并给出可以立即运行的代码。所有章节按照语言的 API 编排，方便以后的查阅。

如果你发现某处出现陌生的新概念，请不要担心，可以继续阅读下去。以后查阅这些章节的时候，你会发现很方便找到某个知识点相关的所有内容。