- 特点:一个类在整个程序的运行过程中只有一个实例对象
- js中的单例模式:
通过自定义构造函数的方式,创建多个相同的对象。
javasript有两种实现方式:
(1)利用惰性函数实现单例模式
具体的实现过程:
1.声明一个构造函数
2.在构造函数内部声明一个变量(函数的静态属性) instance
3.利用惰性函数的属性,实现构造函数的自我更新,并返回instance
4.设置旧构造函数的对象(this)为新新构造函数的原型对象(这部分导致新构造函数的构造器属性为旧对象的构造器属性,所以要在第6步进行修正)
5.使用new 构造函数的方式创建一个新的对象,并将新的对象赋值给instance
6.修正instance对象的构造器属性指向新对象
7.通过instance来设置对象的属性和方法
8.返回instance
(2)利用即时函数实现单例模式:
利用小闭包将所有的代码都包裹起来。