定义:保证一个类只有一个实例,并实例化自己并将这个实例提供给整个系统。说白了:即使你反复调用生成新的实例,实例还是会返回,这就是闭包在js中的应用。varsingleton=(function(){varanimalreturnfunction(name){if(!animal)animal=newAnimals(name)returnanimal}})()functionAnimals(name){this.name=namethis.getName=function(){console.log(this.name)}}varanimal1=singleton('小猫')varanimal2=singleton('大鲨鱼')varanimal3=singleton('旺财')animal1.getName()//littlecatanimal2.getName()//littlecatanimal3.getName()//littlecatconsole.log(animal1===animal2)//true
