Skip to main content

README

Window.sessionStorage

sessionStorage 属性允许你访问一个,对应当前源的 session Storage 对象。它与 localStorage 相似,不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage 里面的数据在页面会话结束时会被清除。

页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。 在新标签或窗口打开一个页面时会复制顶级浏览会话的上下文作为新会话的上下文,这点和 session cookies 的运行方式不同。 打开多个相同的URL的Tabs页面,会创建各自的sessionStorage。 关闭对应浏览器窗口(Window)/ tab,会清除对应的sessionStorage。

语法

// 保存数据到 sessionStorage
sessionStorage.setItem('key', 'value');

// 从 sessionStorage 获取数据
let data = sessionStorage.getItem('key');

// 从 sessionStorage 删除保存的数据
sessionStorage.removeItem('key');

// 从 sessionStorage 删除所有保存的数据
sessionStorage.clear();

笔记

  • 直接判断从本地获取布尔值true,会发现始终都是true,因为本地存储的值只能为字符串,从本地数据中获取需要进行JSON类型才可以进行比较判断

链接

Window.sessionStorage

直接存入与JSON转换存入(推荐)

var arr = [1,1,2,3,3,4,5];
// 直接存入
localStorage.setItem('arr', arr)
// 转换为JSON字符串
localStorage.setItem('arrString', JSON.stringify(arr))

// 字符串
console.log(typeof localStorage.getItem('arr')) //"string"
console.log(localStorage.getItem('arr'))// "1,1,2,3,3,4,5"

// 转换为JSON数组
console.log(typeof JSON.parse(localStorage.getItem('arrString'))) // "object"
console.log('是否是Array:',Array.isArray(JSON.parse(localStorage.getItem('arrString'))) ) //"是否是Array:true "
console.log(JSON.parse(localStorage.getItem('arrString')))// [1, 1, 2, 3, 3, 4, 5]