javascript學習目錄
前面的話
如果某些事情就像魔法一樣,那意味著看到了新生事物的曙光,任何足夠先進的技術都和魔法無異。
javascript就如同魔法一樣,它是一門充滿活力、簡單易用的語言,又是一門具有許多復雜微妙技術的語言。即使是經驗豐富的javascript開發者,如果沒有認真學習的話,也無法真正理解它們,這就是javascript的矛盾之處。由於javascript不必理解就可以使用,因此通常來說很難真正理解語言本身,這就是我們面臨的挑戰。不滿足於只是讓代碼正常工作,而是想要弄清楚為什麽,勇於挑戰這條崎嶇顛簸的少有人走的路,擁抱整個javascript
紛繁復雜的庫,大多都以javascript為基礎。實際上,前端工程師很大程度上指javascript工程師。前端入門容易精通難,說的是前端,更指的是javascript。如果把掌握HTML和CSS作為進入”前端大學“的高中知識貯備,那麽javascript就是”前端大學“的主修課程,如何在”畢業“後成功開啟自己的前端人生,要看javascript知識學得深不深,理解得透徹不透徹,所以在javascript上投入多少時間都不為過
小火柴將javascript的知識體系進行了梳理和歸納,總結成以下目錄
ECMA
基礎語法
【基礎】
詞法結構
變量和標識符
屬性和變量
表達式
嚴格模式
垃圾收集機制
動態腳本
【運算符】
運算符語法概述
算術運算符
關系運算符
邏輯運算符
位運算符
條件、逗號、賦值、()和void運算符
【語句】
表達式語句、塊語句、空語句和聲明語句
條件語句、循環語句和跳轉語句
eval和with
數據類型
【基礎】
15種原生對象類型系統綜述
原始值和復雜值
包裝對象
【基本類型】
Undefined和Null
Boolean布爾類型
Number數字類型
Math對象
String字符串類型
String字符串類型的屬性和方法
【構造器類型】
正則表達式基礎語法
RegExp正則類型
Array數組類型
22種數組方法
數組復制
字符串和數組的方法比較
錯誤處理機制
【日期對象】
日期和時間基礎知識
Date日期對象
簡易日歷實現
日期聯動效果
【類型識別】
四種類型識別的方法
數組檢測方式
【類型轉換】
toString()
valueOf()
數據類型轉換
【函數】
函數概述
函數參數
函數的屬性和方法
ES6函數擴展
高級技巧
函數式編程
【對象】
初識對象
對象的屬性操作
對象的屬性描述符
對象拷貝
難點重點
【作用域】
內部原理
詞法作用域和動態作用域
聲明提升(hosting)
塊作用域
一張圖理解執行環境和作用域
【閉包】
到底什麽才閉包
從執行環境角度看閉包
IIFE
常見的一個循環和閉包的錯誤詳解
閉包的7種形式
【this】
this的4種綁定規則
this綁定優先級
箭頭函數
【繼承實現】
一張圖理解prototype、proto和constructor的三角關系
構造函數和原型對象
創建對象的5種模式
實現繼承的3種形式
繼承實例之選項卡的實現
繼承實例之拖拽
模塊化
實現javascript下的模塊組織
CommonJS規範及Node模塊實現
使用Browserify來實現CommonJS的瀏覽器加載
AMD及requireJS
r.js打包
CMD及seaJS
DOM
節點
【節點類型】
節點類型概述
元素節點
特性節點
文本節點
註釋節點和文檔類型節點
文檔節點
文檔片段節點
【獲取節點】
元素選擇器
getElementsByClassName
selector選擇器
動態集合
【節點操作】
節點關系
節點操作
節點內容
節點遍歷
節點範圍
區分元素特性和對象屬性
腳本化CSS
腳本化行間樣式
查詢計算樣式
腳本化CSS類
腳本化樣式表
動態樣式
腳本化偽元素
元素尺寸
偏移offset
客戶區Client
滾動Scroll
回到頂部
元素視圖方法
事件
【事件機制】
事件流
事件處理程序
事件對象
事件模擬
【事件類型】
鼠標事件
鍵盤事件
變動事件
剪貼板事件
文本事件
加載事件
焦點管理
動畫和運動
【動畫】
原生拖放
模擬拖拽
磁性吸附
碰撞檢測
拖拽改變元素大小
模擬滾動條
【運動】
勻速運動
變速運動
曲線運動
抖動
緩沖運動和彈性運動
投擲和軌跡
鼠標跟隨運動
碰壁運動
碰撞運動
時間版運動
velocity.js的使用
Canvas
canvas基礎語法
canvas圖形處理和進階用法
canvas圖形繪制
canvas圖像編輯
canvas自適應圓形時鐘
canvas粒子時鐘
canvas動態小球重疊效果
canvas探照燈效果
AJAX
【基礎】
JSON
XHR對象
請求方式
響應解碼
FormData
進度事件
頭部信息
傳遞JSON
表單提交
jQuery中的ajax
【跨域】
CORS
圖片Ping
JSONP
存儲
Cookie
IE userData
Web Storage
BOM
【定時器】
setTimeout()和setInterval()
requestAnimationFrame()
定時器應用(時鐘、倒計時、秒表和鬧鐘)
【window屬性】
對話框
窗口操作
location對象
history對象
screen對象
navigator對象和用戶代理檢測
能力檢測
HTML5
Web計時機制
Web Worker
二進制數組
Blob
文件File
網絡相關
URL
Base64編碼器
javascript學習目錄