
在 HTML5 问世后,介绍了 Web Storage 的使用 — 可以将网页中的数据存储在用户的浏览器当中 — 也就是说可以在客户端存储数据。使用上的好处在于大部分浏览器都有支持、可以存储数据的容量大多有 5MB 以上、且数据存储和提取相对简单方便。
两种不同的 web storage 对象
数据存储的格式
如何使用
localStorage.setItem(key, value)
sessionStorage.setItem(key, value)localStorage.getItem(key)
sessionStorage.getItem(key)localStorage.removeItem(key)
sessionStorage.removeItem(key)如何找到存储的数据
localStorage 的缺点
我们尝试声明一个 players 的对象,其中包含了三位选手的数据,并通过 setItem() 方法将 players 对象存储到 localStorage 当中:

players 是一个对象,而非字符串,通过 toString() 的转换过程后,会返回 object Object ,也就是我们在下图 value 中看到的结果 — 这不是我们预期的数据结构和内容:
解决方法:将数据转换成 JSON 格式的字符串
要解决以上在数据转换过程中的问题,又或者想要让我们存储的数据不局限于「字符串」的格式,则可以通过 JSON.stringify() 方法,将要存储的数据转换为 JSON 格式的字符串;要取出数据时,再通过 JSON.parse() 方法,将数据转换回原本的格式:
总结
--
开发web应用程序时,若需要将数据存取下来,在往后或离线时使用,一个简单的方式就是通过 localStorage 和 sessionStorage 的应用 — 不仅容量在大多浏览器都达 5MB 以上,且可以将数据存储在本地客户端直接使用,简单且方便;然而,数据格式的转换是使用上特别需要注意的地方,若能掌握数据转换的方式,就能更容易上手了。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。