



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第JS代码计算LocalStorage容量示例详解目录LocalStorage容量计算总容量已使用容量剩余可用容量
LocalStorage容量
localStorage的容量大家都知道是5M,但是却很少人知道怎么去验证,而且某些场景需要计算localStorage的剩余容量时,就需要我们掌握计算容量的技能了~~
计算总容量
我们以10KB一个单位,也就是10240B,1024B就是10240个字节的大小,我们不断往localStorage中累加存入10KB,等到超出最大存储时,会报错,那个时候统计出所有累积的大小,就是总存储量了!
注意:计算前需要先清空LocalStorage
letstr='0123456789'
lettemp=''
//先做一个10KB的字符串
while(str.length!==10240){
str=str+'0123456789'
//先清空
localStorage.clear()
constcomputedTotal=()={
returnnewPromise((resolve)={
//不断往LocalStorage中累积存储10KB
consttimer=setInterval(()={
try{
localStorage.setItem('temp',temp)
}catch{
//报错说明超出最大存储
resolve(temp.length/1024-10)
clearInterval(timer)
//统计完记得清空
localStorage.clear()
temp+=str
},0)
(async()={
consttotal=awaitcomputedTotal()
console.log(`最大容量${total}KB`)
最后得出的最大存储量为5120KB5M
已使用容量
计算已使用容量,我们只需要遍历localStorage身上的存储属性,并计算每一个的length,累加起来就是已使用的容量了~~~
constcomputedUse=()={
letcache=0
for(letkeyinlocalStorage){
if(localStorage.hasOwnProperty(key)){
cache+=localStorage.getItem(key).length
return(cache/1024).toFixed(2)
(async()={
consttotal=awaitcomputedTotal()
leto='0123456789'
for(leti=0;i1000;i++){
o+='0123456789'
localStorage.setItem('o',o)
constuseCache=computedUse()
console.log(`已用${useCache}KB`)
可以查看已用容量
剩余可用容量
我们已经计算出总容量和已使用容量,那么剩余可用容量=总容量-已使用容量
constcomputedsurplus=(total,use)={
returntotal-use
(async()={
consttotal=awaitcomputedTotal()
leto='0123456789'
for(leti=0;i1000;i++){
o+='0123456789'
localStorage.setItem('o',o)
constuseCache=computedUse()
console.log(`剩余可用容量${computedsurplus(total,useCache)}KB`)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人货电梯合同范例
- 代做房产按揭合同范例
- 保洁股东合同范例
- 专项工程审计合同范例
- 产品互换合同范例
- 丹阳工业园厂房合同范例
- 跨界合作品牌入驻商场专柜委托运营合同
- 知识产权转让与知识产权评估合同
- 跨国船舶运输承包经营及船舶交易合同
- 教育培训机构招生宣传全案策划与品牌塑造服务协议
- NY∕T 2537-2014 农村土地承包经营权调查规程
- 2024国网湖南省电力公司高校毕业生招聘400人(第三批)重点基础提升难、易点模拟试题(共500题)附带答案详解
- 计算机三级《Linux应用与开发技术》考试题库大全(含真题、典型题等)
- 环境因素识别评价表
- 家长会课件:中考前百日誓师家长会课件
- 固肾生发丸的质量控制和标准化
- 军事博物馆调研报告
- 山东省济南市槐荫区2023-2024学年小学六年级语文毕业检测指导卷含答案
- 昆虫脉动智慧树知到期末考试答案2024年
- 农产品加工工艺培训PPT创新农产品加工工艺与技术
- 精神病患者藏药的护理措施
评论
0/150
提交评论