我正在尝试将变量存储在我的移动网站上的localStorage中,因此如果用户离开,他们的状态不会丢失。为此,我将所有重要数据作为JSON存储在localStorage中。但是,数据的某些部分是Parse对象(Backbone模型)并具有toJSON
函数。为了不显眼地存储数据,我需要删除toJSON
以便对象按原样存储,然后重新附加它。但是,我的代码无效:
var toJSON = null;
if(obj && obj.toJSON) {
toJSON = obj.toJSON;
delete obj.toJSON;
}
window.localStorage[localStorageIndex] = JSON.stringify(obj);
if(toJSON)
obj.toJSON = toJSON;
任何想法为什么? 感谢。
答案 0 :(得分:1)
试一试:
obj.toJSON = undefined;
window.localStorage[localStorageIndex] = JSON.stringify(obj);
delete obj.toJSON;
这应该会暂时将原型toJSON
与undefined
混为一谈,导致stringify()
跳过它。
答案 1 :(得分:0)
我学会了不使用localStorage存储重物......