正常用法

  • 在chromedev下即可运行调试

  • 应使用方法而不是属性来访问数据,以免某个键会意外重写该对象上已经存在的对象。

  1. localStorage.setItem('name', 'Nicholoas');
  2. var name = localStorage.getItem('name');
  3. name
  4. //此时返回Nicholoas
  5. ----
  6. // 使用属性存储数据
  7. localStorage.book = 'Pro JS';
  8. // 使用属性读取数据
  9. var book = localStorage.book;
  10. ----
  11. localStorage['name'] = "lalaajusdgjuas"
  12. console.log(localStorage['name']);

问题

  • localstorage没有过期时间。

  • localstorage关闭浏览器重开依然保留不会失效。

  • 如果用户将序列化之后的内容存储在Localstorage中,则可能被黑客执行反序列化攻击。

  • 如果localstorage的内容中包含敏感数据,可能被用于XSS攻击导致信息泄露。

参考资料