- 系统中被唯一使用
- 一个类只有一个实例
示例: - 登录框
- 购物车
UML类图
代码演示:
class SingleObject {
login(){
console.log('login...')
}
}
SingleObject.getInstance = (function () {
let instance
return function () {
if(!instance) {
instance = new SingleObject()
}
return instance
}
})()
let obj1 = SingleObject.getInstance()
obj1.login()
let obj2 = SIngleObject.getInstance()
obj2.login()
console.log('obj1 === obj2', obj1 === obj2)
let obj3 = new SingleObject() // 无法完全控制
obj3.login()
console.log('obj1 === obj3', obj1 === obj3) //false
使用场景:
jQuery只有一个$
// jQuery只有一个$
if (window.jQuery != null) {
return window.jQuery
} else {
// 初始化
}
模拟登录框
vuex和redux中的store
网友评论