JS設計模式 構造器模式

2021-09-10 07:47:00 字數 1472 閱讀 2282

看過高程書的對這個設計模式應該很熟悉。構造器模式屬於建立型設計模式。那麼什麼是建立型設計模式呢?

建立型設計模式專注於處理物件的建立機制。也就是說這類模式,都和建立物件的過程密不可分。

除了構造器模式屬於這類模式。還有其他一些設計模式也屬於建立型設計模式。比如:

下面還是先來談談構造器模式。

在物件導向的程式語言中,構造器是乙個類中用來初始化新物件的特殊方法。並且可以接受引數用來設定例項物件的屬性和方法。

在 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方法來對上面的...