网站建设上传与发布流程磁力链bt磁力天堂
文章の目录
- 一、什么是单例模式
- 二、如何实现单例模式
- 1、利用JavaScript中的全局对象
- 2、静态成员改造
- 参考
- 写在最后
一、什么是单例模式
单例模式也称为单体模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。
举个栗子:一个班级只有一个班主任,只有一个太阳,一个国家只有一个主席这些 “唯一”、“便于访问(全局访问)” 的行为对象便称作是单例
二、如何实现单例模式
1、利用JavaScript中的全局对象
全局对象是最简单的单例模式,利用ES6的let
不允许重复声明的特性,刚好符合这两个特点
let instance;
class Person {constructor(name) {if (!instance) {instance = this;this.name = name;} else {return instance;}}
}
let zhangsan = new Person("张三");
let lisi = new Person("李四");
console.log(zhangsan === lisi);
但是我们并不建议这么实现单例,因为全局对象/全局变量会有一些弊端:
- 污染命名空间(容易变量名冲突)
- 维护时不容易管控 (搞不好就直接覆盖了)
2、静态成员改造
class Person {static instance;constructor(name) {if (!Person.instance) {Person.instance = this;this.name = name;} else {return Person.instance;}}
}
let zhangsan = new Person("张三");
let lisi = new Person("李四");
console.log(zhangsan === lisi);
参考
- js设计模式之单例模式
写在最后
如果你感觉文章不咋地
//(ㄒoㄒ)//
,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L;~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※
!!!