cookie,localstorage,sessionstorage 都可以用作本地存储一些信息,三者之间的异同如下
cookie | localStorage | sessionStorage | |
数据的声明周期 | 一般由服务器生成,可以设置失效时间。如果由浏览器生成,一般默认在浏览器关闭后失效 | 除非被清除,否则永久存在 | 仅在当前会话下有效,关闭页面即被清除 |
存放数据大小 | 4k左右 | 5MB | 5MB |
与服务器通信 | 每次都会携带在http头中,cookie使用过多会带来性能问题 | 尽在浏览器中保存,不参与服务器通信 | 同localStorage |
易用性 | 需要程序员自己封装,原生cookie接口不友好 | 原生接口可以接受,也可封装 | 同localStorage |
sessionStorage localStorage 使用
//存储value
sessionStorage.setItem("key_session","22");
localstorage.setItem("key_local","22");
//获取value
sessionStorage.getItem("key_session");
localstorage.getItem("key_local");
//删除value
sessionStorage.remove("key_session");
localStorage.remove("key_local");
//清除所有value
sessionStorage.clear();
localStorage.clear();
遍历方法 :以localStorage举例
// 遍历方法
var storage = window.localStorage;
for(var i = 0; i < storage.length; i++) {
var key = storage.key(i);
var value = storage.getItem(key);
console.log("key: " + key + " = " + value);
}