原始模式和工廠模式
原始模式
通過 Object 建構式或物件字面量都可以創建單個物件
var preson = new Object()
preson.name = '小明'
preson.age = 22
preson.sex = '男'
preson.sleep = function(){
alert(this.name + '睡覺了')
}
但這些方式有個明顯的缺點:
使用同一個介面創建很多物件,會產生大量重復的代碼,
為了解決這個問題,人們開始使用工廠模式的一種變體
工廠模式
工廠模式是軟體工程領域一種廣為人知的設計模式,這種模式抽象了創建具體物件的程序,考慮到 ECMAScript 中無法創建類,開發人員就發明了一種函式,用函式來封裝以特定介面創建物件的細節,
function createpreson(name, age, sex) {
var obj = new Object()
obj.name = name
obj.age = age
obj.sex = sex
obj.sleep = function(){
alert(this.name + '睡覺了')
}
}
var preson1 = createpreson('小明', 22, '男')
var preson2 = createpreson('小紅', 22, '女')
函式 createpreson() 能夠依據接收的引數來構建一個包含必要資訊的 preson 物件,可以無數次呼叫這個函式,而它每次都會回傳一個包含三個屬性的物件,工廠模式雖然解決了創建多個相同屬性的物件產生大量重復代碼的問題,但是卻沒有解決物件識別的問題(即就怎樣知道一個物件的型別),雖然 JavaScript 的發展,建構式模式出現了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/253890.html
標籤:JavaScript
上一篇:屬性型別
下一篇:建構式模式
