1. 程式人生 > >javascript學習目錄

javascript學習目錄

我們 方法 type 進行 regex hosting work 作用 elements

前面的話

  如果某些事情就像魔法一樣,那意味著看到了新生事物的曙光,任何足夠先進的技術都和魔法無異。

  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學習目錄