品易云推流 关闭
文章 > JavaScript > js单例模式的应用场景分析

js单例模式的应用场景分析

头像

小妮浅浅

2021-04-27 14:51:49440浏览 · 0收藏 · 0评论

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)

以上就是js单例模式的应用场景分析,希望对大家有所帮助。更多js学习指路:js教程

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮