📅  最后修改于: 2023-12-03 15:41:28.932000             🧑  作者: Mango
Javascript提供了localStorage
和sessionStorage
两个API来帮助我们在浏览器中进行本地存储操作。本地存储可以用来存储字符串类型的数据,并且在页面刷新或关闭后依然可以保持数据的存在。
localStorage
和sessionStorage
的最大区别在于它们的作用域和生命周期。localStorage
的作用域是整个浏览器窗口,而sessionStorage
的作用域是当前标签页。在关闭标签页或浏览器窗口后,localStorage
中存储的数据不会被清除,而sessionStorage
中存储的数据会被清除。
使用localStorage
存储数据非常简单,在控制台中输入以下代码就可以实现存储:
localStorage.setItem("key", "value");
其中key
是存储的键名,value
是存储的值。如果需要获取存储的数据,可以使用如下代码:
var value = localStorage.getItem("key");
如果需要删除存储的数据,可以使用如下代码:
localStorage.removeItem("key");
如果需要清空所有存储的数据,可以使用如下代码:
localStorage.clear();
sessionStorage
的用法与localStorage
基本相同,只是要将代码中的localStorage
替换为sessionStorage
,例如:
sessionStorage.setItem("key", "value");
var value = sessionStorage.getItem("key");
sessionStorage.removeItem("key");
sessionStorage.clear();
因为localStorage
和sessionStorage
只能存储字符串类型的数据,所以如果需要存储对象或数组,需要先将它们序列化成字符串后再存储。可以使用JSON.stringify()
和JSON.parse()
来实现序列化和反序列化。
此外,localStorage
和sessionStorage
的存储大小限制也不同。不同浏览器的限制大小也有所不同。一般来说,localStorage
的存储大小比sessionStorage
大。
localStorage
和sessionStorage
提供了非常方便的本地存储功能,在需要存储少量数据时,它们是非常好的选择。但是,在存储大量数据时,还是建议使用服务器端的存储方案。