JavaScript設計模式(一) 單例模式
阿新 • • 發佈:2020-12-31
技術標籤:JavaScript設計模式javascript設計模式
單例模式的定義:保證一個類僅有一個例項,並提供一個訪問它的全域性訪問點
實際開發中我們可以用一個變數來標誌當前是否已經為某個類(函式)建立過物件,如果是,則在下一次獲取該類的例項時,直接返回之前建立的物件。實際應用中,比如浮層頁面 下面舉個例子:
var login = function () {
let div;
return function () {
if (!div) {
div = document.createElement('div')
div. innerHTML = "歡迎登陸"
div.style.display = "none"
document.body.append(div)
}
return div
}
}
document.getElementById("login").click(()=>{
let loginLayer = login()
loginLayer.style.display = "block"
})
通過變數標識,我們不需要每次在使用者點選登入時建立dom節點,而是利用閉包快取頁面資訊,提升效能。當然,實際開發中,單例模式的應用遠遠不止這些,但是我們理解了單例模式的思想和目的,有利於我們寫出更優雅的程式碼。