# 前言
我寫這本教程,主要原因是自己需要。
編程時,往往需要查閱資料,確定準確用法。理想的 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