封装:
class Cache {
constructor(isLocal = true) {
this.storage = isLocal ? localStorage : sessionStorage;
}
setItem(key,value){
if (value) {
this.storage.setItem(key,JSON.stringify(value))
}
}
getItem(key){
let value = this.storage.getItem(key)
if (value) {
value = JSON.parse(value)
return value
}
}
removeItem(key){
this.storage.removeItem(key)
}
clear(){
this.storage.clear()
}
length(){
return this.storage.length
}
}
// 如果没有传递参数或者传递true ,表示本地存储
let localCache = new Cache();
// 如果传递 false ,表示会话存储
let sessionCache = new Cache(false);
使用:
/*
本地存储使用方法
*/
// 存储
localCache.setItem('name', 'junjun')
localCache.setItem('age', 23)
localCache.setItem('obj', { a: 1 })
// 获取
localCache.getItem('name')
localCache.getItem('age')
localCache.getItem('obj')
// 删除
localCache.removeItem('age')
// 清空
localCache.clear()
// 存储长度
localCache.length()
/*
会话存储使用方法
*/
// 存储
sessionCache.setItem('name', 'junjun')
sessionCache.setItem('age', 23)
sessionCache.setItem('obj', { a: 1 })
// 获取
sessionCache.getItem('name')
sessionCache.getItem('age')
sessionCache.getItem('obj')
// 删除
sessionCache.removeItem('age')
// 清空
sessionCache.clear()
// 存储长度
sessionCache.length()