HTML Dog
跳至导航

本地存储

当你在用户的浏览器中构建更复杂的 JavaScript 应用程序时,能够将信息存储在浏览器中会非常有用,这样信息就可以在不同的页面和浏览会话之间共享。

在不久的过去,这只能通过cookie——保存在用户计算机上的文本文件——来实现,但用 JavaScript 管理它们的方式并不好。现在有一项名为本地存储的新技术,可以实现类似的功能,但界面更易于使用。

要保存一些数据,请使用 localStorage.setItem


localStorage.setItem('name', 'tom');

第一个参数是你之后用来再次获取数据的标识符。第二个参数是你想要存储的数据。

再次获取也很简单——只需将标识符传递给 localStorage.getItem


var name = localStorage.getItem('name');

本地存储只能存储字符串,因此存储对象需要使用 JSON.stringify 将它们转换为字符串——你不能要求本地存储直接存储对象,因为它会存储“[object Object]”,这完全不对!

这也意味着对象在离开本地存储时必须通过 JSON.parse 进行处理。你可以在下面的示例中看到这一点。


// Object example

localStorage.setItem('user', JSON.stringify({
    username: 'htmldog',
    api_key: 'abc123xyz789'
}));

var user = JSON.parse(localStorage.getItem('user'));