在JavaScript 中,本地存储主要有以下三种方式:
cookie
:只能存储字符串,有固定的格式,通常以key=value
的形式存储。cookie
存储大小有限制,一般为4KB左右。cookie
的默认有效期是会话级别,可以手动设置过期时间。cookie
的操作必须依赖服务器,在本地打开的页面无法直接操作cookie
。sessionStorage
:是一种会话存储,仅在当前会话期间有效,即在同一浏览器窗口中打开的页面之间共享数据。一旦浏览器窗口关闭,sessionStorage
中的数据将被自动清除。sessionStorage
可以通过window.sessionStorage.setItem()
方法存储数据,通过window.sessionStorage.getItem()
方法获取数据,通过window.sessionStorage.removeItem()
方法删除数据。localStorage
:是一种长期存储,数据将一直保存在浏览器中,除非手动删除或者清除浏览器缓存。localStorage
可以通过window.localStorage.setItem()
方法存储数据,通过window.localStorage.getItem()
方法获取数据,通过window.localStorage.removeItem()
方法删除数据。
这三种本地存储方式的主要区别如下:
- 存储时长:
cookie
:默认是会话级别时效,也可以手动设置过期时间。sessionStorage
:会话存储,浏览器关闭就没有了。localStorage
:长期存储,除非手动删除否则会一直保存在浏览器中。
- 跨页面通讯:
cookie
:不支持。sessionStorage
:在本页面跳转才可以。localStorage
:可以跨页面通讯。
- 数据类型:
cookie
:只能保存字符串类型的数据。sessionStorage
和localStorage
:只能保存字符串类型的数据,其它数据类型不能被保存。
- 存储大小:
cookie
:存储大小有限制,一般为4KB左右。sessionStorage
和localStorage
:没有存储大小限制。
- 鹏仔前端 https://www.pjxi.com/