可以说我创建一个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","");
我曾经找到一个函数来计算localStorage
和sessionStorage
对象的大小,但我不记得在哪里找到它。
这是代码:
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):
铬(42.0.2311.90 m):
IE 11(11.0.9600.17420):
歌剧(29.0.1795.47):
因此,看起来FireFox,Chrome和Opera(可能还有Safari,但我没有)都具有相同的行为,并且键占用的空间远大于其值。
在IE(旧的IE ...)中,实现的执行方式与存储内容的方式无关。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句