参考了大佬的文章https://www.jb51.net/article/212634.htm
- 单例模式:系统中只保存一个实例,并提供一个访问它的全局访问点
- 实现单例模式的核心思想:当构造时,先判断是不是有此类的实例存在,如果存在,则直接返回此实例,不存在就创建这个实例
具体方法
- 使用instanceof判断是否使用了new关键字调用
- 在函数上直接添加方法属性调用生成实例
- 使用闭包
- 使用包装对象结合闭包的形式实现
- 在构造函数中使用new.target判断是否使用了new关键字
- 使用static静态方法
关于1
关于3
关于5
关于6
这个6应该是最简洁最好理解的方法