標籤:角度 箭頭函數 elements ora exp 碰撞檢測 構造器 request orm
前面的話
如果某些事情就像魔法一樣,那意味著看到了新生事物的曙光,任何足夠先進的技術都和魔法無異。
javascript就如同魔法一樣,它是一門充滿活力、簡單易用的語言,又是一門具有許多複雜微妙技術的語言。即使是經驗豐富的javascript開發人員,如果沒有認真學習的話,也無法真正理解它們,這就是javascript的矛盾之處。由於javascript不必理解就可以使用,因此通常來說很難真正理解語言本身,這就是我們面臨的挑戰。不滿足於只是讓代碼正常工作,而是想要弄清楚為什麼,勇於挑戰這條崎嶇顛簸的少有人走的路,擁抱整個javascript
紛繁複雜的庫,大多都以javascript為基礎。實際上,前端工程師很大程度上指javascript工程師。前端入門容易精通難,說的是前端,更指的是javascript。如果把掌握HTML和CSS作為進入”前端大學“的高中知識貯備,那麼javascript就是”前端大學“的主修課程,如何在”畢業“後成功開啟自己的前端人生,要看javascript知識學得深不深,理解得透徹不透徹,所以在javascript上投入多少時間都不為過
小火柴將javascript的知識體系進行了梳理和歸納,總結成以下目錄
ECMA基礎文法
【基礎】
詞法結構
變數和標識符
屬性和變數
運算式
strict 模式
垃圾收集機制
動態指令碼
【運算子】
運算子文法概述
算術運算子
關係運算子
邏輯運算子
位元運算符
條件、逗號、賦值、()和void運算子
【語句】
運算式語句、塊語句、空語句和聲明語句
條件陳述式、迴圈語句和跳躍陳述式
eval和with
資料類型
【基礎】
15種原生物件類型系統綜述
原始值和複雜值
封裝對象
【基本類型】
Undefined和Null
Boolean布爾類型
Number數字類型
Math對象
String字串類型
String字串類型的屬性和方法
【構造器類型】
Regex基礎文法
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學習目錄