Hello,大家好,我是 Sunday。
現(xiàn)在的面試總會遇到很多“奇葩”的問題,不過本著“存在即合理”的態(tài)度,從“深入JS”的角度來看,這些個性化的面試題還是挺有意思的。
所以,咱們今天就來看一個“奇葩”面試題:如何使用JS來計(jì)算LocalStorage的容量
本文為譯文:https://javascript.plainenglish.io/believe-it-or-not-interviewer-asks-me-to-calculate-localstorage-capacity-using-javascript-12928482e096
LocalStorage 是瀏覽器提供的一種本地會話存儲的方式,最大支持 5M 的存儲空間。
雖說它的存儲空間是有上限的,但是我相信很多同學(xué)都和我一樣,在日常開發(fā)中其實(shí)并沒有關(guān)注過這個問題。畢竟 5M 的默認(rèn)存儲針對數(shù)據(jù)而言已經(jīng)非常大了。
但是,如果你在面對一些足夠復(fù)雜的項(xiàng)目,涉及到大量的數(shù)據(jù)本地存儲且沒有使用 IndexDB 的前提下,那么關(guān)注 LocalStorage 存儲空間位置,就變得有意義了。
為了計(jì)算總?cè)萘浚覀儗⑹褂?10KB 為單位,相當(dāng)于 10240 字節(jié)。我們將不斷向 LocalStorage 添加 10KB 塊,直到它已滿并引發(fā)錯誤。此時(shí),我們統(tǒng)計(jì)所有累積的數(shù)據(jù),這就是總存儲量!
在 JavaScript 中,字符串使用 UTF-16 編碼存儲。這意味著每個字符通常占用 2 個字節(jié)的內(nèi)存空間。但是,對于某些特殊字符(例如表情符號或某些不太常見的語言字符),它們可能最多使用 4 個字節(jié)。
"a".length // 1"
本文鏈接:http://www.tebozhan.com/showinfo-26-87677-0.html不管你信不信,面試官讓我使用 JS 計(jì)算 LocalStorage 的容量!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com
上一篇: 系統(tǒng)整容紀(jì):責(zé)任鏈設(shè)計(jì)模式的應(yīng)用實(shí)戰(zhàn)