瞭解下閉包和函數柯里化的概念閉包
閉包:就是可以讀取其餘函數內部變量的函數。
維基百科上說道:柯里化,英語:Currying(果真是滿滿的英譯中的既視感),是把接受多個參數的函數變換成接受一個單一參數(最初函數的第一個參數)的函數,而且返回接受餘下的參數並且返回結果的新函數的技術。
typeof
用,那你可能判斷不出對象的類型 constructor
看是誰構造的instranceof
判斷誰是誰的實例Object.prototype.toString.call
你們均可以本身嘗試下,今天咱們的重點是使用Object.prototype.toString.call
app
value
和 type
調整傳參方式,新增isString
這時咱們能夠觀察到函數
isString
時咱們只需傳遞了value
值,而且返回接受了餘下參數的函數的返回結果isString
實現了保存變量的功能(閉包)isTypeOne
函數裏的getType
函數能夠被不在本身做用域下的地方執行從而造成閉包isString
在調用時寫錯了會形成結果判斷錯誤,優化