// 定义Storage
class Storage {
  static getInstance () {
    // 判断是否已经new过1个实例
    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 storage1 = Storage.getInstance()
const storage2 = Storage.getInstance()

storage1.setItem('name', '李雷')
// 李雷
storage1.getItem('name')
// 也是李雷
storage2.getItem('name')
// 返回true
storage1 === storage2

Last Updated:
Contributors: pengrengui