微信小程序中怎么实现单例模式
时间: 2024-05-07 09:20:13 浏览: 8
在微信小程序中实现单例模式可以采用 JavaScript 的模块模式来实现,具体步骤如下:
1. 创建一个 JavaScript 模块,例如 singleton.js,该模块导出一个对象。
2. 在该对象中定义需要单例化的属性和方法。
3. 给该对象添加一个静态属性 instance,用于存储单例对象。
4. 在该对象中定义一个静态方法 getInstance,用于获取单例对象。
5. 在 getInstance 方法中判断 instance 是否存在,如果存在则返回 instance,否则创建一个新的对象并赋值给 instance,然后返回该对象。
示例代码如下:
```
// singleton.js
module.exports = {
count: 0,
increment() {
this.count++;
},
decrement() {
this.count--;
},
// 静态属性
instance: null,
// 静态方法
getInstance() {
if (!this.instance) {
this.instance = {
count: 0,
increment() {
this.count++;
},
decrement() {
this.count--;
}
};
}
return this.instance;
}
};
```
使用示例:
```
// app.js
const singleton = require('./singleton');
App({
onLaunch() {
const instance1 = singleton.getInstance(); // 获取单例对象
instance1.increment(); // count: 1
const instance2 = singleton.getInstance(); // 获取单例对象
instance2.increment(); // count: 2
console.log(instance1.count); // 2
console.log(instance2.count); // 2
}
})
```