JSON Stringify崩溃

时间:2013-02-05 22:22:26

标签: javascript json stringify

我一直在测试一些以json格式获取变量的代码并且应该打印它,然而它会打印一个空数组。

如果我尝试这个:

console.log(JSON.stringify({first:1,second:2}));

然后我崩溃了网页(Chrome:" Aw,Snap!")。

我问了几个人,他们无法复制它,但我每次都会得到它。在FireFox中也进行了测试,它也崩溃了。

这是代码:

var timer={first:0,second:0,third:0,fourth:0};
localStorage.setItem('saveTimers', JSON.stringify(timer));

并在localStorage中设置[]

3 个答案:

答案 0 :(得分:1)

在运行 lot 时,我能够崩溃它:

for (var i = 0; i < 100000; i ++) {
    var timer={first:0,second:0,third:0,fourth:0};
    localStorage.setItem('saveTimers', JSON.stringify(timer));
}

也许你很快就会运行这段代码了很多次?解决此问题的方法可能是限制您的功能,可以通过implementing a throttle functionUnderscore.js's throttle来完成。

答案 1 :(得分:0)

因此,根据我的理解,您真正遇到的问题是将内容保存到localStorage

这似乎更像是权限问题而不是其他任何问题。浏览器是否有权访问文件系统?浏览器使用的文件夹是否可用于编写?您是否尝试过重新安装浏览器?

这些是你应该检查的东西。

答案 2 :(得分:0)

如果您正在使用测试版或开发版Chrome,请仔细检查此行为在稳定版本中是否相同,如果没有,那么就是您的问题。