js单例模式

单例模式是一种常见的设计模式,在JavaScript中也有广泛应用,以下是关于它的详细介绍:

定义

  • 单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。在JavaScript中,虽然没有像传统面向对象语言中的类的概念,但可以通过对象字面量、构造函数、闭包等方式来实现单例模式。

实现方式

对象字面量方式

const singleton = {
   
   
    property: "Some value",
    method: function() {
   
   
        console.log("This is a method in the singleton object.");
    }
};
  • 这种方式简单直接,创建了一个包含属性和方法的对象字面量,并且该对象在全局范围内只有一个实例。可以通过 singleton.propertysingleton.method() 来访问和调用其中的成员。

构造函数与闭包结合方式

function Singleton() {
   
   
    if (!Singleton.instance) {
   
   
        Singleton.instance = this;
        this.property = "Some value";
        this.method = function() {
   
   
            console.log("This is a method in the singleton instance.");
        };
    }
    return Singleton.instance;
}

const instance1 = new Singleton();
const instance2 = new Singleton();

console.log(instance1 === instance2)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值