关于localStorage和sessionStorage的一些注意点

文章目录

  • 超出存储容量时会抛出异常
  • 存储类型只能为字符串
  • sessionStorage的失效机制

超出存储容量时会抛出异常

localStoragesessionStorage是有存储容量限制的,在localStoragesessionStorage的异同中有提到。

一旦超出容量限制便会抛出QuotaExceededError的错误。所以在使用Storage的时候最好加上try catch

存储类型只能为字符串

也就是说,存储其他的类型便会调用其toString方法。例如,布尔值false存入Storage再取出便是字符串"false"。同理,undefinednull也都会被转换成相应的字符串。这在开发中要格外小心,因为以上这些字符串在进行布尔判断的时候可都是为真的。

如果想要存储对象也不是不可以,只需要使用JSON.stringify方法将对象转换为JSON字符串即可。使用时,再使用JSON.parse方法将JSON字符串转换回对象。

sessionStorage的失效机制

  • sessionStorage在页面刷新时并不会被失效。
  • 相同URL的不同标签页之间不能共享sessionStorage

你可能感兴趣的:(前端)