91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用JS代碼計算LocalStorage容量

發布時間:2022-07-05 10:28:06 來源:億速云 閱讀:204 作者:iii 欄目:開發技術

本篇內容主要講解“怎么使用JS代碼計算LocalStorage容量”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用JS代碼計算LocalStorage容量”吧!

LocalStorage 容量

localStorage的容量大家都知道是5M,但是卻很少人知道怎么去驗證,而且某些場景需要計算localStorage的剩余容量時,就需要我們掌握計算容量的技能了~~

計算總容量

我們以10KB一個單位,也就是10240B1024B就是10240個字節的大小,我們不斷往localStorage中累加存入10KB,等到超出最大存儲時,會報錯,那個時候統計出所有累積的大小,就是總存儲量了!

注意:計算前需要先清空LocalStorage

let str = '0123456789'
let temp = ''
// 先做一個 10KB 的字符串
while (str.length !== 10240) {
  str = str + '0123456789'
}
// 先清空
localStorage.clear()
const computedTotal = () => {
  return new Promise((resolve) => {
    // 不斷往 LocalStorage 中累積存儲 10KB
    const timer = setInterval(() => {
      try {
        localStorage.setItem('temp', temp)
      } catch {
        // 報錯說明超出最大存儲
        resolve(temp.length / 1024 - 10)
        clearInterval(timer)
        // 統計完記得清空
        localStorage.clear()
      }
      temp += str
    }, 0)
  })
}
(async () => {
  const total = await computedTotal()
  console.log(`最大容量${total}KB`)
})()

最后得出的最大存儲量為5120KB ≈ 5M

怎么使用JS代碼計算LocalStorage容量

已使用容量

計算已使用容量,我們只需要遍歷localStorage身上的存儲屬性,并計算每一個的length,累加起來就是已使用的容量了~~~

const computedUse = () => {
  let cache = 0
  for(let key in localStorage) {
    if (localStorage.hasOwnProperty(key)) {
      cache += localStorage.getItem(key).length
    }
  }
  return (cache / 1024).toFixed(2)
}
(async () => {
  const total = await computedTotal()
  let o = '0123456789'
  for(let i = 0 ; i < 1000; i++) {
    o += '0123456789'
  }
  localStorage.setItem('o', o)
  const useCache = computedUse()
  console.log(`已用${useCache}KB`)
})()

可以查看已用容量

怎么使用JS代碼計算LocalStorage容量

剩余可用容量

我們已經計算出總容量和已使用容量,那么剩余可用容量 = 總容量 - 已使用容量

const computedsurplus = (total, use) => {
  return total - use
}
(async () => {
  const total = await computedTotal()
  let o = '0123456789'
  for(let i = 0 ; i < 1000; i++) {
    o += '0123456789'
  }
  localStorage.setItem('o', o)
  const useCache = computedUse()
  console.log(`剩余可用容量${computedsurplus(total, useCache)}KB`)
})()

可以得出剩余可用容量

怎么使用JS代碼計算LocalStorage容量

到此,相信大家對“怎么使用JS代碼計算LocalStorage容量”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

拜泉县| 新野县| 基隆市| 嘉黎县| 遵化市| 略阳县| 临夏市| 上林县| 新野县| 乌拉特前旗| 乌鲁木齐县| 乐东| 衡阳县| 固阳县| 岑巩县| 常山县| 正宁县| 张家口市| 钟祥市| 红原县| 昌都县| 隆尧县| 荥阳市| 新郑市| 内江市| 舞阳县| 海丰县| 安岳县| 安化县| 湖州市| 海城市| 镇沅| 祁连县| 青川县| 茂名市| 蓬莱市| 瑞金市| 陈巴尔虎旗| 昌江| 永兴县| 新绛县|