learning-note
learning-note copied to clipboard
对storage的封装
localStorage 和 sessionStorage 是比较好的存储方式,
当存到这里面的时候页面刷新是不会丢失数据的,除非手动清楚。
sessionStorage是当页面关闭后就会自动清空的。
由于该存储方式只能存字符串,所以每次调用的时候就必须使用JSON.stringify() 函数来
把对象转换成字符串,挺麻烦的。 我就封装成了一个模块。
代码如下:
localStorage: 的封装
local.js
const {localStorage, JSON} = window
const storage = {
set (key, val = {}) {
let _value = JSON.stringify(val)
localStorage.setItem(key, _value)
},
get (key) {
const _value = localStorage.getItem(key)
return JSON.parse(_value) || {} // 如果为null则返回空对象
},
remove (...keys) {
keys.forEach(key => localStorage.removeItem(key))
},
clear () {
localStorage.clear()
}
}
export default storage
sessionStorage与之类似, 只是把所有的localStorage换成sessionStorage就行了。
调用方式:
import local from './local.js'
let obj = {
today: '周五',
tommorow: '周六'
}
local.set('obj', obj) // 存
local.get('obj') // 取
local.remove('obj', 'abc') // 删出俩个
local.clear() // 清空