這篇文章將為大家詳細講解有關怎么在JavaScript中應用單例模式,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
javascript是一種動態類型、弱類型的語言,基于對象和事件驅動并具有相對安全性并廣泛用于客戶端網頁開發的腳本語言,同時也是一種廣泛用于客戶端Web開發的腳本語言。它主要用來給HTML網頁添加動態功能,現在JavaScript也可被用于網絡服務器,如Node.js。
1、應用場景
(1)windows的任務管理器
(2)多線程的線程池設計
(3)全局緩存
(4)瀏覽器的window對象
(5)登錄頁面中的浮窗,無論點擊多少次,浮窗僅僅會被創建一次,那么這個button應該使用單例模式來進行創建。
2、實例
單例模式模擬登錄框。
class LoginForm {
constructor() {
this.state = 'hide'
}
show() {
if (this.state === 'show') {
alert('已經顯示')
return
}
this.state = 'show'
console.log('登錄框已顯示')
}
hide() {
if (this.state === 'hide') {
alert('已經隱藏')
return
}
this.state = 'hide'
console.log('登錄框已隱藏')
}
}
LoginForm.getInstance = (function () {
let instance
return function () {
if (!instance) {
instance = new LoginForm();
}
return instance
}
})()
// 一個頁面中調用登錄框
let login1 = LoginForm.getInstance()
login1.show()
// login1.hide()
// 另一個頁面中調用登錄框
let login2 = LoginForm.getInstance()
login2.show()
// 兩者是否相等
console.log('login1 === login2', login1 === login2)關于怎么在JavaScript中應用單例模式就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。