發表文章

目前顯示的是有「JavaScript Pattern」標籤的文章

JavaScript Object Oriented Programming

圖片
JavaScript Object Oriented Programming 關於JavaScript Object Oriented Programming,會寫這一系列的文章是因為希望自己的JavaScript程式碼能更物件導向、更模組化。這一系列的文章有以下的內容...

JavaScript Object Oriented Programming - Factory Constructor Pattern

圖片
JavaScript Object Oriented Programming - Factory Constructor Pattern 「Factory Constructor Pattern」不使用new來宣告新物件,新物件用function call來建立,如下: var animal = Animal('fox'); var rabbit = Rabbit('rab');

JavaScript Object Oriented Programming - All-in-one Constructor Pattern

圖片
JavaScript Object Oriented Programming - All-in-one Constructor Pattern 所有的method和property都放在consctructor中,而不使用prototype。 Declaration function Animal(name){ this.name = name; this.run = function(){ console.log('running '+ this.name); } }; var animal = new Animal('Foxie'); animal.run();

JavaScript Object Oriented Programming - Pseudo-Classical Pattern

圖片
JavaScript Object Oriented Programming - Pseudo-Classical Pattern Pseudo-class declaration 在pseudo-classical pattern中,物件是由「建構子」(constructor)這個函式所建立,並把method放到建構子的prototype中。

JavaScript Design Pattern - Strategy 策略模式

圖片
JavaScript Design Pattern - Strategy 策略模式 JavaScript Design Pattern 「Strategy 策略模式」 筆記。

JavaScript - Event Delegation 事件委派

JavaScript - Event Delegation 事件委派 JavaScript Pattern 「Event Delegation 事件委派」 筆記。

JavaScript Design Pattern - Iterator 迭代器模式

JavaScript Design Pattern - Iterator 迭代器模式 JavaScript Design Pattern 「Iterator 迭代器模式」 筆記。

JavaScript Design Pattern - Factory 工廠模式

JavaScript Design Pattern - Factory JavaScript Design Pattern 「Factory 工廠模式」 筆記。

JavaScript Design Pattern - Singleton 單體模式

圖片
JavaScript Design Pattern - Singleton JavaScript Design Pattern 「Singleton 單體模式」 筆記。

JavaScript - Code Reuse Patterns

圖片
JavaScript - Code Reuse Patterns JavaScript Pattern之Code Reuse Patterns筆記。

JavaScript - Module Pattern

JavaScript - Module Pattern 自從離開上一份十分忙碌的工作後,終於有時間好好針對JavaScript這個部份充電,於是來看「 JavaScript Patterns (中譯:JavaScript 設計模式) 」這本書,也將自己的學習歷程記錄下來。歡迎大家討論,無論是有錯糾正或新知分享等。 什麼是Module Pattern?解決什麼問題? Module Pattern 利用函數的「閉包(closure)」特性來避免汙染全域的問題 - 使用閉包(closure)來提供封裝的功能,將方法和變數限制在一個範圍內存取與使用。這樣的好處除了避免汙染全域外,也將實作隱藏起來,只提供公開的介面(public API)供其他地方使用,簡單易懂。

JavaScript - Decorator 裝飾者模式

JavaScript - Decorator Decorator(裝飾者模式)的說明與範例。

JavaScript - JSON.parse and JSON.stringify

JavaScript - JSON.parse and JSON.stringify 使用JSON做Client端與Server端資料傳遞的說明與範例。

JavaScript - Call and Apply

JavaScript - Call and Apply call與apply兩者皆是執行某個function,並將這個function的context(即物件)替換成第一個代入的參數。其差異在於call必須將參數一一代入,而apply除了第一個參數代入context外,其餘的參數只要包在一個陣列裡面即可。註:第二個參數不是必須的(optional)。

JavaScript - Closure與Hoisting

圖片
JavaScript - Closure與Hoisting 分散var來宣告變數並沒有太大的意義,因為就JavaScript程式語言的特性來說,函數(Function)中未宣告而先用到的變數會被提升至區塊的第一行做宣告。先來看基本觀念Closure,再來看Hoisting。