http://mooc.study.163.com/course/NEU-1000054003#/info
基礎篇
1.JS介紹
html、css --> js、hello world、js特性、js&DOM、js歷史
2.JS調試
alert、console、展示chrome,ff,ie 調試器界面、以Chrome為例子,詳細展示、展示面板作用、查找要調試的文件、設置斷點,debugger、展示4個按鈕,并展示響應的堆棧變化,watch
3.基本語法
標識符、變量、直接量、關鍵字和保留字、語句、區分大小寫、注釋
4.基本類型
Number(Interger, Float, NaN,Infinity)、String("",’’)、Boolean(true,false)、undefined(什么情況下為undefined)、null、Object({})、原始類型和引用類型的區別、typeof
5.運算符與表達式
表達式、運算符、一元操作符(++,--, +,-)、算術運算(+、-、*、/、%)、關系運算(>、<、== 、!=、>=、<=、===、!==)、邏輯運算(!、&&、 ||)、位運算(&、|、^、~、<<、>>,>>>)、賦值運算(=)、條件運算(?:)、逗號運算(,)、對象運算符(new delete . [] instanceof)、運算符的優先級
6.語句
語句、條件(if,swich)、循環(for/for in/ while/ do-while) lable break continue、異常 (try catch finally)、with、label
7.數值
Math(abs、round、ceil、floor、max、min、random、其他)、parseInt、parseFloat、Number、NaN、toFixed
8.字符串
定義、length、charAt(下標)、indexOf、lastIndexOf、search、match、replace、substring、slice、substr、split、toLowerCase、toUpperCase、連接、轉字符串(+、String())、轉義
9.對象
定義、創建(new、直接量)、屬性、方法、constructor、toString、valueOf、hasOwnproperty
10.數組
定義、創建(new、直接量)、length、indexOf、forEach、【(reverse、sort)、(push、unshift)、(shift、pop)、splice】、【slice、concat、join、reduce】
11.函數
函數定義(函數聲明、函數表達式、函數參數、return)、函數調用、arguments、作用域、對象方法、構造函數、function.prototype
12.Date
new Date(), Date.getXXXX(),格式化, Date.setXXX(),求天數, Date.getTime()
13.RegExp
字符類、元字符、量詞、多選分支、轉義、捕獲、匹配模式
14.JSON
定義,JSON.parse(),JSON.stringify
進階篇
1.類型進階
參數識別應用場景(字符串和數組的例子)、類型識別方法:typeof,constructor,Object.prototype.toString,instanceof和其他(Array.isArray, isNaN)、類型轉換(所有的方法+隱式轉換)
2.函數進階
函數定義(函數聲明、函數表達式、new Function)、arguments(callee、轉數組)、apply、call、bind、高階函數(AOP、curry、記憶函數)
3.原型
原型(概念)、構造函數、原型鏈(原型鏈,原型鏈查找,原型鏈修改,原型鏈刪除,Function.prototype,Object.prototype)、原型繼承
4.變量作用域
動態作用域和靜態作用域,詞法環境(函數作用域),作用域鏈,with/catch
5.閉包
閉包舉例、閉包原理、閉包應用
6.面向對象
JS面向對象