3

我读到 localStorage 的最大大小约为5MB. 但我做了一些非常奇怪的事情,显示了另一个结果。


我从互联网上复制了一张1024x768图片(用于启动图片),然后将其转换为 base 64。我把它放在一个文件中,看到文件是300KB. 然后,我写了下面的代码:

for(var a;a<1000;a++)
{
    try{localStorage["'"+a+"'"]="The very long string of 75000 characteres";}
    catch(e)
    {
        alert("No !");
        break;
    }
}
alert("Yes !");

我的 iPad 发出警报Yes !。1000*300=300000KB -> 300MB. 就是说localStorage存储300MB的信息!

这怎么可能?localStorage 是压缩还是什么?

编辑:最后,这是一个错字。for(var a;a<1000;a++)而不是for(var a=0;a<1000;a++). 如果有人想知道,我成功存储了 6 张图片。

4

1 回答 1

3

您的 for 循环从未执行,因为您没有初始化循环变量。尝试

for(var a=0;a<1000;a++)
于 2012-06-06T05:50:01.957 回答