思考與總結 1.模塊化 曾看到某大牛說:模塊化和組件化是前端開發的一大趨勢。所謂的模塊化一般是指為了實現一個特定的功能而將所有的代碼(對象)封裝成一個模塊。而AMD就是requireJS為指定模塊規範化的一個產出,它具有非同步載入、依賴前置、提前執行的特點。CMD則是針對淘寶提技術團隊sea.js的一 ...
思考與總結
1.模塊化
曾看到某大牛說:模塊化和組件化是前端開發的一大趨勢。所謂的模塊化一般是指為了實現一個特定的功能而將所有的代碼(對象)封裝成一個模塊。而AMD就是requireJS為指定模塊規範化的一個產出,它具有非同步載入、依賴前置、提前執行的特點。CMD則是針對淘寶提技術團隊sea.js的一個規範,它具有同步載入、依賴就近、延遲執行的特點。commonJS在後端Node.js就比較常見,以require(module路徑)常見、
2.數據推送
websocket結合socket.io開發在實時通訊方面是非常強大,可以詳見前面的博客內容。即基於Node.js的聊天室
3.高級函數
- 惰性函數主要用於第一次調用函數後第二次調用才生效,可以類比XMLHttpRequest,先判斷瀏覽器對其的相容性,再賦值,此後調用父函數即訪問新的值,特點是:一次更改,此後生效。
- 函數柯里化:主要是合併參數
- 級聯函數:類比Jquery的鏈式調用。
4.高級技巧
- 變數作用域以及閉包,這部分主要是理解變數的聲明提升,js預處理環境和執行環境。
- this:可以使用apply和call方法改變this的指向,apply和call的唯一區別是傳參的形式不同。
- 傳遞類型分為按值傳遞和按引用傳遞。側重理解按引用傳遞,包括數組和對象。
5.面向切麵編程
Aspect Oriented Programming(AOP),即面向切麵編程,主要實現的目的是針對業務處理過程中的切麵進行提取,它所面對的是處理過程中的某個步驟或階段,以獲得邏輯過程中各部分之間的低耦合性的隔離效果。
6.JS多線程
記得瀏覽器有個GUI線程