localStorage与sessionStorage都是Web Storage API提供的用于在浏览器中存储数据的机制。
localStorage常用的方法如下:
- localStorage.setItem(key, value):将指定的键值对添加到localStorage中。 注意:localStorage的键值必须为字符串类型
- localStorage.getItem(key):根据键获取localStorage中对应的值,获取不存在的localStorage会返回null。
- localStorage.removeItem(key):根据键删除localStorage中的键值对,。
- localStorage.clear():清除localStorage中的所有数据。
- localStorage.key(index):根据索引获取localStorage中的键名。
sessionStorage常用的方法如下:
- sessionStorage.setItem(key, value):将指定的键值对添加到sessionStorage中。
- sessionStorage.getItem(key):根据键获取sessionStorage中对应的值,获取不存在会返回null。
- sessionStorage.removeItem(key):根据键删除sessionStorage中的键值对。
- sessionStorage.clear():清除sessionStorage中的所有数据。
- sessionStorage.key(index):根据索引获取sessionStorage中的键名。
注意:当调用localStorage/sessionStorage.removeItem()方法时,如果要删除的字段不存在,不会报错,而是静默失败,即不执行任何操作。因此,不会抛出任何异常或错误。
localStorage和sessionStorage区别如下:
- 生命周期:localStorage的数据在浏览器关闭后仍然存在,除非主动删除;而sessionStorage的数据在浏览器关闭后会被自动清除。
- 共享性:localStorage的数据在同一域名下的不同窗口或标签页之间共享;而sessionStorage的数据只在同一窗口或标签页中共享。
- 存储大小:localStorage的存储容量较大,一般为5MB或更大;而sessionStorage的存储容量较小,一般为5MB或更小。