一、用途
创建一个单一的类,并保证这个类有且只有一次被创建。如果创建多个实例,有一个实例被改变所有实例同时改变。(类似于浅拷贝)
二、示例
let xiaoMing = {};
let createXiaoMing = function(state){
xiaoMing = xiaoMing ? xiaoMing : {};
xiaoMing.state = state;
return xiaoMing;
}
let xiaoMing1 = createXiaoMing("吃饭");//现在小明在吃饭
let xiaoMing2 = createXiaoMing("睡觉");//现在小明在睡觉
console.log(xiaoMing1,xiaoMing2);//小明在睡觉,小明在睡觉 ==>因为只有一个小明,所以小明此时已经在睡觉了