以下仿照OC风格写个React单例。
let instance = null;
var name = '';
export default class AppStatusManager{
constructor(){
if (!instance) {
instance = this;
}
return instance;
}
/***
* 类方法
*/
static ShareInstance(){
let singleton = new AppStatusManager();
return singleton;
}
/***
* 实例方法
*/
setName(name){
this.name = name;
}
getName(){
return this.name;
}
}
如上一个简单的单例就写好了。constructor 系统构造方法,ShareInstance 自己写的普通方法,前面加上static变成类方法,默认是实例方法。
调用类方法创建对象
let statusManager = AppStatusManager.ShareInstance();
statusManager.setName('9999999999');
statusManager.getName();
调用new方法创建对象
let statusManager = new AppStatusManager();
statusManager.setName('9999999999');
statusManager.getName();