我一直在测试一些代码,这些代码采用 json 格式的变量并且应该打印它,但是它打印了一个空数组。
如果我正在尝试这样做:
console.log(JSON.stringify({first:1,second:2}));
然后我崩溃了页面(Chrome:“哇,啪!”)。
我问过几个人,他们都无法重现,但我每次都能得到。也在 FireFox 中测试过,但它也崩溃了。
这是代码:
var timer={first:0,second:0,third:0,fourth:0};
localStorage.setItem('saveTimers', JSON.stringify(timer));
然后在 localStorage 中设置 []
最佳答案
我在运行这个很多时能够使它崩溃:
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 function 来完成。或 Underscore.js's throttle .
关于javascript - JSON 字符串化崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14718130/