JavaScript 单例模式是一种创建模式,旨在确保类只有一个实例,并提供全局访问点来访问该实例。在JavaScript中,单例可以用一个对象自变量实现。下面是一些创建JavaScript单例的方案。
方案一:使用字面量对象
使用字面量对象的方式简单直观,适用于有固定属性需要维护的单例模式。
const singleton = {
prop1: "property 1",
prop2: "property 2",
method: function() {
console.log("Method called");
}
};
该模式创建一个对象直接量并将其分配给变量。可以在任何地方使用该变量来调用属性和方法。
示例代码:
console.log(singleton.prop1); // "property 1"
singleton.method(); // "Method called"
方案二:使用构造函数
使用构造函数的方式可以允许我们扩展单例,并使用自己喜欢的面向对象编程风格。
function Singleton() {
if (!Singleton.instance) {
Singleton.instance = this;
}
return Singleton.instance;
}
const instance1 = new Singleton();
const instance2 = new Singleton();
console.log(instance1 === instance2); // true
如何使用:
Singleton只创建一个实例,并且提供了一个全局访问点。 您可以使用new运算符创建一个实例,该构造函数始终返回一个实例,并且始终是相同的实例,因为在第一次创建实例时创建了实例,并且可以通过返回该实例来获得对该实例的引用。
示例代码:
console.log(instance1 === instance2); // true
这段代码输出为 true,因为两个实例是同一个实例,他们通过Singleton构造函数来创建。
以上就是 JavaScript 单例模式的内容,希望能够帮助到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript 单例/单体模式(Singleton) - Python技术站