localStorage长期存储且同源共享,sessionStorage仅限当前标签页会话;二者均仅支持字符串、容量约5MB、不参与HTTP请求。
JavaScript 中的本地存储主要靠 localStorage 和 sessionStorage 实现,它们都提供键值对形式的浏览器端数据持久化能力,但生命周期和作用域完全不同。
数据写入后会一直保留在浏览器中,除非手动清除(比如调用 localStorage.clear() 或用户主动删除浏览数据)。同一域名下的所有标签页、窗口都能读写同一份数据。
localStorage.setItem('theme', 'dark');读取:localStorage.getItem('theme')
JSON.stringify(),读取时再 JSON.parse()
数据只在当前浏览器标签页(或窗口)中有效,刷新页面保留,但关闭该标签页后自动清空。不同标签页之间互不干扰,即使同域名也各自独立。
sessionStorage.setItem('draft', 'hello world')
e 仅当前标签页独有if (typeof localStorage !== 'undefined') { ... }
storage 事件,但它只在其他同源窗口触发修改时才生效,当前窗口改不会触发自己