共计 454 个字符,预计需要花费 2 分钟才能阅读完成。
定义:确保一个类只有一个实例,而且自行实例化并向整个零碎提供这个实例。
说白了就是:就算你反复调用想去生成新的实例,但返回的依然是这个实例,在 js 中也就是闭包的利用。
var singleton = (function () {
var animal
return function (name) {if (!animal) animal = new Animals(name)
return animal
}
})()
function Animals(name) {
this.name = name
this.getName = function () {console.log(this.name)
}
}
var animal1 = singleton('小猫咪')
var animal2 = singleton('大鲨鱼')
var animal3 = singleton('旺财')
animal1.getName() // 小猫咪
animal2.getName() // 小猫咪
animal3.getName() // 小猫咪
console.log(animal1 === animal2) //true
正文完
发表至: javascript
2021-11-19