var LocalStorage = require('node-localstorage').LocalStorage;
localStorage = new LocalStorage('./scratch');
class Storage{
/*
方法是static的 ,则可以用类名调用 eg:BaseDao.getConnection(); 否则就需要new一个对象调用
原因:
静态方法跟非静态方法主要的区别在于生命周期。
静态方法的生命周期从进程被创建就开始了,直到进程结束,所以说静态方法是全局的,贯穿整个进程。
非静态方法的生命周期,从类实例化对象开始,直到实例对象被注销回收之后结束。
*/
static getInstance () {
if (!Storage.instance) {
Storage.instance = new Storage();
}
return Storage.instance
}
getItem(key) {
return localStorage.getItem(key);
}
setItem(key, value) {
return localStorage.setItem(key, value);
}
}
const s1 = Storage.getInstance();
const s2 = Storage.getInstance();
s1.setItem(name, 'jack')
console.log(s1.getItem(name));
console.log(s1 === s2);