可以说我创建了一个本地存储 key 并给它一个空字符串。键项目的名称占用的空间与每个字符的值占用的空间相同吗?
例如做
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,Chrome和Opera(可能还有Safari,但我没有)都具有相同的行为,并且键占用的空间远大于它们的值。
在IE(旧的IE ...)中,实现的执行方式与存储内容的方式无关。
关于javascript - 本地存储 key 本身会占用多少空间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29944944/