本地存储密钥本身会占用多少空间?

马蒂亚斯

可以说我创建一个localstorage密钥并给它一个空字符串。键项的名称占用的空间是否等于每个字符的值?

例如做

localStorage.setItem("keyitem","") 
//Equal the space of this other one under?
localStorage.setItem("key","item");

另外,键的数量重要吗?例如

localStorage.setItem("key","");
//Equal the amount of storage as the 3 under combined? 
localStorage.setItem("k","");
localStorage.setItem("o","");
localStorage.setItem("h","");
雷文浪子骑士

我曾经找到一个函数来计算localStoragesessionStorage对象的大小,但我不记得在哪里找到它。

这是代码:

Storage.prototype.size = function(units) {
    'use strict';
    units = units ? units.toUpperCase() : 'MB';
    var size = unescape(encodeURIComponent(JSON.stringify(this))).length;
    switch (units) {
        case 'B': return [size,'B'].join(' ');
        case 'KB': return [+(size / 1024).toFixed(3),'KB'].join(' ');
        default: return [+(size / 1024 / 1024).toFixed(3),'MB'].join(' ');
    }
};

我决定继续在各种浏览器中运行一些测试。

Firefox(37.0.2):

Firefox控制台输出

铬(42.0.2311.90 m):

Chrome控制台输出

IE 11(11.0.9600.17420):

IE控制台输出

歌剧(29.0.1795.47):

Opera控制台输出

因此,看起来FireFox,Chrome和Opera(可能还有Safari,但我没有)都具有相同的行为,并且键占用的空间远大于其值。

在IE(旧的IE ...)中,实现的执行方式与存储内容的方式无关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章