溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在JavaScript中應用單例模式

發布時間:2021-04-27 17:03:29 來源:億速云 閱讀:212 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關怎么在JavaScript中應用單例模式,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

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中應用單例模式就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女