(Day15) 閉包進階使用,工廠模式及私有方法
前言
上回介紹閉包概念以及閉包大致運用,這次則介紹實做比較常用閉包的幾種模式
工廠模式
上個章節有介紹到,使用不同變數可以讓閉包儲存的記憶體分開,在透過不同參數可以達成需要重複運行,卻需要不同值做呈現、運算的部分,比如下面範例。
1 | function interview(name,office){ |
私有方法 又稱 模組設計模式(module pattern)
上一章節也有提到,最簡單的閉包就是在函示中 return
一個函示,而私有方法 則是 return
出一個物件,再將各種函示包在物件中,這樣就可以呼叫物件中各式不同的方法,以達成實做時的各種需求,並且和工廠模式相同,使用不同變數、常數閉包儲存的記憶體也會不同,因此可以透過不同參數達成各自獨立計算的需求。
1 | function buyGame(initValue){ |
P.S 這邊的 buyNS()
、 buyPS5()
是使用物件函式縮寫,未縮寫前是 buyNS:fuction()
、 buyPS5: function()
參考文獻
- JavaScript 核心篇 (六角學院)