单例模式

定义

  • 单例模式定义: 保证一个类仅有一个实例,并提供一个访问它的全局访问点

场景

  • 单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如线程池、全局缓存、浏 览器中的 window 对象等。

  • 在 JavaScript 开发中,单例模式的用途同样非常广泛。试想一下,当我们单击登录按钮的时候,页面中会出现一个登录浮窗,而这个登录浮窗是唯一的,无论单击多少 次登录按钮,这个浮窗都只会被创建一次,那么这个登录浮窗就适合用单例模式来创建。

优缺点

  • 优点:创建对象和管理单例的职责被分布在两个不同的方法中

例子

class People {
    constructor(name) {
        if (typeof People.instance === 'object') {
            return People.instance;
        }
        People.instance = this;
        this.name = name
        return this;
    }
}
var a = new People('a')
var b = new People('b')
console.log(a===b)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式是一种常用的模式,有一些对象我们...
    梅梅_1461阅读 1,950评论 0 0
  • 单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式是一种常用的模式,有一些对象我们...
    cilla123阅读 3,449评论 0 1
  • 单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如线程池、全局缓存、浏览器中的window对象等。在Ja...
    会飞小超人阅读 2,271评论 0 4
  • 单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式是一种常用的模式,有一些对象我们...
    yufawu阅读 3,736评论 0 7
  • 摘自《JavaScript设计模式与开发实践》 单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访...
    小小的白菜阅读 1,605评论 0 0