理解:單例即只能例項乙個物件,無論new多少次,new出來的都是同乙個物件
這裡用了閉包儲存了instance變數,用於判斷是否已經建立了例項,建立了則直接返回,否則new乙個例項返回
//單例模式
const grilfriend=
(function()
let instance =
null
return
function
(...arg)
return instance
}})()
let p1 =
newgrilfriend
('yangzi'
)let p2 =
newgrilfriend
('xiaotong'
) console.
log(p1,p2)
console.
log(p1===p2)
//true
假如我們要new乙個girlfried,new了兩次之後發現都是yangzi,因為我們第一次new的時候是yangzi,因為有yangzi了,所以無論我們怎麼想new都new不出新的來了,所以我們不能那麼花心!! JS設計模式 單例模式
單例模式是乙個用來劃分命名空間並將一批屬性和方法組織在一起的物件,如果它可以被例項化,那麼它只能被例項化一次。單例模式優點 並非所有的物件字面量都是單例,比如模擬資料基本結構 let cat 上面物件字面量結構是建立單例模式的方法之一,但並不是單例模式,單例模式的特點是僅被例項化一次 要實現單例模式...
js設計模式 單例模式
顧名思義,單例就是單一的意思,單例模式的定義是 保證乙個類僅有乙個乙個例項,並提供乙個訪問它的全域性訪問點。新建物件時判斷全域性是否有該物件,如果有,就返回該物件,沒有就建立乙個新物件返回。簡單實現 var single function return function name return in...
js 單例設計模式
單例模式的定義 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。第一種 varsingleton function name singleton.prototype.getname function singleton.getinstance function name return thi...