我可以在浏览器Windows本地存储中存储对象吗?

时间:2012-09-29 04:04:22

标签: javascript jquery html5

在我的代码中,我做了很多以下的事情:

var store = window.localStorage;

var accountID = store.getItem('AccountID'),
        pageID = store.getItem('PageID'),
        referenceID = store.getItem('ReferenceID'),
        topicID = store.getItem('TopicID');

有没有办法可以更有效地做到这一点。例如,我可以在Javascript中创建一个对象并立即存储/获取整个对象吗?

1 个答案:

答案 0 :(得分:3)

好吧,如果你尝试一下,你会发现你做不到。无论您存储什么,都会将其设置为toString值。

取决于您存储的数据的一种可能性是将其字符串化为JSON数据,然后在需要时解析它。

var data = {foo:"bar"};

window.localStorage.setItem("test", JSON.stringify(data));

var fetched = window.localStorage.getItem("test");

var parsed = JSON.parse(fetched);

alert(parsed.foo); // "bar"

当然,这会限制您使用JSON兼容的数据类型。