本地存储

本地存储

  • sessionStorage 关闭游览器数据清空
  • localStorage 长期保存

操控方法

存放

  • localStorage.setItem('key',value);

读取

  • localStorage.getItem('key');

清除

  • localStorage.removeItem('key');

storage事件

  • 当存储的数据发生变化时,会触发storage事件
1
window.addEventListener("storage",onStorageChange);

特别注意

  • 其中存储的value只能是字符串
  • 当存储其他数据时如对象、数组 要转化为字符串

封装本地存储

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(function (win) {
var myStorage = {};
myStorage.getItem = function (key) {
// 读取json格式字符串并转为对象 返回
return JSON.parse(win.localStorage.getItem(key));
}
myStorage.setItem = function (key,value) {
//把要存储的value转为json格式的字符串
value = JSON.stringify(value);
win.localStorage.setItem(key,value);
}
//在win下注册对象
win.myStorage = myStorage;
})(window);

// 使用demo
var data = 123;
myStorage.setItem('mydata',data);
var foo = myStorage.getItem('mydata');