最新更新时间:2021年09月14日15:14:57
《猛戳-查看我的博客地图-总有你意想不到的惊喜》
本文内容:通过ES6的class实现单例模式
类
export default class Person {
//ES6类的静态方法(只能直接由类名调用的方法):static getInstance
//ES6类的静态属性:直接挂载在类名上的方法,如:Person.instance()
static getInstance(data) {
if (!Person.instance) {
Person.instance = new Person(data);
return Person.instance
}
return Person.instance;
}
constructor(data) {
this.data = data;
this.content = [];
}
/**
* 添加
* @param
* @return
*/
addContainer(a) {
this.content.push(a);
return this.content;
}
/**
* 删除
* @param
* @return
*/
removeContent(a) {
this.content.splice(a, 1);
return this.content;
}
/**
* 查询
* @param
* @return
*/
getContentByName(name) {
return this.content.find((item) => item.name === name);
}
/**
* 查询全部
* @param
* @return
*/
getAllContent() {
return this.content;
}
}
使用
在下面两个文件中获得到的是一个实例
- A.js
const personA = Person.getInstance(data);
- B.js
const personB = Person.getInstance(data);
参考资料
- 暂无
感谢阅读,欢迎评论^-^