Hello,大家好,我是 Sunday。
现在的面试总会遇到很多“奇葩”的问题,不过本着“存在即合理”的态度,从“深入JS”的角度来看,这些个性化的面试题还是挺有意思的。
所以,咱们今天就来看一个“奇葩”面试题:如何使用JS来计算LocalStorage的容量
本文为译文:https://javascript.plainenglish.io/believe-it-or-not-interviewer-asks-me-to-calculate-localstorage-capacity-using-javascript-12928482e096
LocalStorage 是浏览器提供的一种本地会话存储的方式,最大支持 5M 的存储空间。
虽说它的存储空间是有上限的,但是我相信很多同学都和我一样,在日常开发中其实并没有关注过这个问题。毕竟 5M 的默认存储针对数据而言已经非常大了。
但是,如果你在面对一些足够复杂的项目,涉及到大量的数据本地存储且没有使用 IndexDB 的前提下,那么关注 LocalStorage 存储空间位置,就变得有意义了。
为了计算总容量,我们将使用 10KB 为单位,相当于 10240 字节。我们将不断向 LocalStorage 添加 10KB 块,直到它已满并引发错误。此时,我们统计所有累积的数据,这就是总存储量!
在 JavaScript 中,字符串使用 UTF-16 编码存储。这意味着每个字符通常占用 2 个字节的内存空间。但是,对于某些特殊字符(例如表情符号或某些不太常见的语言字符),它们可能最多使用 4 个字节。
"a".length // 1"
本文链接:http://www.28at.com/showinfo-26-87677-0.html不管你信不信,面试官让我使用 JS 计算 LocalStorage 的容量!
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com
上一篇: 系统整容纪:责任链设计模式的应用实战