技术文章

JS单例模式

2018-06-09  本文已影响19人  ThomasCho

单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如线程池、全局缓存、浏览器中的 window 对象等。在 JavaScript开发中,单例模式的用途同样非常广泛。试想一下,当我们单击登录按钮的时候,页面中会出现一个登录浮窗,而这个登录浮窗是唯一的,无论单击多少次登录按钮,这个浮窗都只会被创建一次,那么这个登录浮窗就适合用单例模式来创建。

let SingleTon = (html => {
    let instance;

    class SingleTon {
        constructor (html) {
            if (instance) {
                return instance;
            }
            this.html = html;
            instance = this;
            return instance;
        }
    }

    return SingleTon;
})();

let a = new SingleTon('aaa')
let b = new SingleTon('bbb')

console.log(a === b)

运行结果:true

上一篇 下一篇

猜你喜欢

热点阅读