繁体   English   中英

暂时删除对象的toJSON fn成员

[英]Temporarily remove toJSON fn member of object

我正在尝试将变量存储在我的移动网站上的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;

有什么想法吗? 谢谢。

试一下:

obj.toJSON = undefined;

window.localStorage[localStorageIndex] = JSON.stringify(obj);

delete obj.toJSON;

这应该用undefined暂时将原型化的toJSON起来,从而导致stringify()跳过它。

我学会了不使用localStorage存储重物...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM