*** 重要
**** 函數
***** 函數是物件****** 可在執行期動態建立
****** 可做為變數值,類似C中的指標/參考, 但又具有屬性/方法
******* 記憶模式 Momento
***** 具有特定的作用範圍
****** hoisting對以var宣告的函數,具有var的作用特性
****** 匿名函式:不污染命名空間
***** 靜態方法vs原型方法;類別呼叫vs物件呼叫
**** 模組模式
***** namespace以樹狀結構組織功能,捨棄java中利用實體目錄的對應方式
***** 宣告相依性
明確限定範圍、使用區域變數以加速
***** private+public
函數中var宣告的成員均為private,必需以附加到this(或任一全域變數)的函數讓外界存取
***** 匿名立即函式/Closure?
提供private作用域,傳入全域物件,回傳物件(或建構函式)
**** 原型 prototype
***** Function.prototype.bind()--改變作用域***** 只要是可重複利用的成員 ,例如方法 ,都應該放進原型裏
**** new的作用
***** 產生空白物件,並命名為 this,最後隱含回傳**** 物件
***** = mutable hash 可改變的雜湊表***** 成員可用 value = object[key]存取
***** singleton / 自我定義建構式
*** 次要
hoisting: var宣告自動被提前到函式頂端
"use strict": 使this不再自動指向全域物件,減少函數不是為產生物件而撰寫時所造成的意外
沒有留言:
張貼留言