看過高程書的對這個設計模式應該很熟悉。構造器模式屬於建立型設計模式。那麼什麼是建立型設計模式呢?
建立型設計模式專注於處理物件的建立機制。也就是說這類模式,都和建立物件的過程密不可分。
除了構造器模式屬於這類模式。還有其他一些設計模式也屬於建立型設計模式。比如:
下面還是先來談談構造器模式。
在物件導向的程式語言中,構造器是乙個類中用來初始化新物件的特殊方法。並且可以接受引數用來設定例項物件的屬性和方法。
在 js 中,es6之前是不支援類這個概念的,所以一般用函式來表示乙個構造器,使用方法是在構造器函式前使用new
關鍵字。
所以,基本的構造器模式看起來是這樣的:
// 建構函式
function
person
(name, age, gender)
}// 使用
var person =
newperson
('zkk',22
,'male'
)console.
log(person.
sayname()
)// => hi! i am zkk.
上面的基本構造器有個不理想的地方,就是每次建立乙個新物件,都需要重新定義sayname
這個方法。
為了使sayname
這個方法在例項之間共享,我們使用原型(prototype)來優化。
如果在建構函式的原型屬性上新增sayname
方法,那麼所有例項化的物件都會共享這個方法。優化**是這樣的:
// 建構函式
function
person
(name, age, gender)
// 原型屬性新增 sayname 方法
person.prototype.
sayname
=function()
// 使用
var person =
newperson
('zkk',22
,'male'
)console.
log(person.
sayname()
)// => hi! i am zkk.
es6 支援了類的定義,所以寫起來風格更加優雅。
// 類宣告
class
person
sayname()
}// 使用
var person =
newperson
('zkk',22
,'male'
)console.
log(person.
sayname()
)// => hi! i am zkk.
以上,便是構造器模式的全部內容。 JS設計模式 構造器模式
引入 看過高程書的對這個設計模式應該很熟悉。構造器模式屬於建立型設計模式。那麼什麼是建立型設計模式呢?建立型設計模式專注於處理物件的建立機制。也就是說這類模式,都和建立物件的過程密不可分。除了構造器模式屬於這類模式。還有其他一些設計模式也屬於建立型設計模式。比如 工廠模式 抽象模式 原型模式 單例模...
設計模式 構造器模式
目錄 一 概述 二 詳解 構造器模式,也稱建構函式模式。物件構造器用於建立特定型別的物件。當用new關鍵字呼叫乙個建構函式建立物件時,函式返回值為this,即建立的物件指向函式中的this,這叫隱士返回。簡單的構造器模式 function person name,age,job var person...
js設計模式 迭代器模式
一.從乙個例子開始講起 jquery each jquery each jquery each 可以看到的時候上面有三種不同的資料結構,他們都有順序遍歷的需求,但是由於api不同,我們得寫多種遍歷的方式,而迭代器模式就是為了簡化有序集合的遍歷產生的模式 我們可以用jquery的each方法來對上面的...