欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js如何操作localstorage

 更新時間:2022年04月06日 10:33:44   作者:不求甚解bc  
這篇文章主要介紹了js如何操作localstorage,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

js操作localstorage

localstorage是web前端常用的本地存儲服務(wù),它相對于cookie

有幾個優(yōu)勢:

  • ①數(shù)據(jù)存儲量大
  • ②不會攜帶給后臺,避免傳輸沒用的數(shù)據(jù)
  • ③操作簡便

1、首先封裝一個全局方法

以便各個地方調(diào)用

export function handleLocalStorage(method, key, value) {
? switch (method) {
? ? case 'get' : {
? ? ? let temp = window.localStorage.getItem(key);
? ? ? if (temp) {
? ? ? ? return temp
? ? ? } else {
? ? ? ? return false
? ? ? }
? ? }
? ? case 'set' : {
? ? ? window.localStorage.setItem(key, value);
? ? ? break
? ? }
? ? case 'remove': {
? ? ? window.localStorage.removeItem(key);
? ? ? break
? ? }
? ? default : {
? ? ? return false
? ? }
? }
}

2、調(diào)用方法

  • ①存儲
handleLocalStorage('set', 'userName', 'Tom');
  • ②獲取
handleLocalStorage('get', 'userName');
  • ③刪除
handleLocalStorage('remove', 'userName');

 js localstorage(本地存儲)必知

HTML API

localstorage 在瀏覽器的 API 有兩個:localStorage 和sessionStorage,存在于 window 對象中:localStorage 對應(yīng) window.localStorage,sessionStorage 對應(yīng)window.sessionStorage。

localStorage 和 sessionStorage 的區(qū)別主要是在于其生存期。

基本用法

localStorage只要在相同的協(xié)議、相同的主機(jī)名、相同的端口下,就能讀取/修改到同一份localStorage數(shù)據(jù)。

sessionStorage比localStorage更嚴(yán)苛一點,除了協(xié)議、主機(jī)名、端口外,還要求在同一窗口(也就是瀏覽器的標(biāo)簽頁)下。

生存期

localStorage理論上來說是永久有效的,即不主動清空的話就不會消失,即使保存的數(shù)據(jù)超出了瀏覽器所規(guī)定的大小,也不會把舊數(shù)據(jù)清空而只會報錯。但需要注意的是,在移動設(shè)備上的瀏覽器或各Native App用到的WebView里,localStorage都是不可靠的,可能會因為各種原因(比如說退出App、網(wǎng)絡(luò)切換、內(nèi)存不足等原因)被清空。

sessionStorage的生存期顧名思義,類似于session,只要關(guān)閉瀏覽器(也包括瀏覽器的標(biāo)簽頁),就會被清空。由于sessionStorage的生存期太短,因此應(yīng)用場景很有限,但從另一方面來看,不容易出現(xiàn)異常情況,比較可靠。

數(shù)據(jù)結(jié)構(gòu)

localstorage為標(biāo)準(zhǔn)的鍵值對(Key-Value,簡稱KV)數(shù)據(jù)類型,簡單但也易擴(kuò)展,只要以某種編碼方式把想要存儲進(jìn)localstorage的對象給轉(zhuǎn)化成字符串,就能輕松支持。

舉點例子:把對象轉(zhuǎn)換成json字符串,就能讓存儲對象了;把圖片轉(zhuǎn)換成DataUrl(base64),就可以存儲圖片了。另外對于鍵值對數(shù)據(jù)類型來說,"鍵是唯一的"這個特性也是相當(dāng)重要的,重復(fù)以同一個鍵來賦值的話,會覆蓋上次的值。

容量限制

目前業(yè)界基本上統(tǒng)一為5M,已經(jīng)比cookies的4K要大很多了

域名限制

由于瀏覽器的安全策略,localstorage是無法跨域的,也無法讓子域名繼承父域名的localstorage數(shù)據(jù),這點跟cookies的差別還是蠻大的。

異常處理

localstorage在目前的瀏覽器環(huán)境來說,還不是完全穩(wěn)定的,可能會出現(xiàn)各種各樣的bug,一定要考慮好異常處理。

我個人認(rèn)為localstorage只是資源本地化的一種優(yōu)化手段,不能因為使用localstorage就降低了程序的可用性,那種只是在console里輸出點錯誤信息的異常處理我是絕對反對的。

localstorage的異常處理一般用try/catch來捕獲/處理異常。

JavaScript 存儲對象

存儲對象方法

  • key(n) 返回存儲對象中第 n 個鍵的名稱
  • getItem(keyname) 返回指定鍵的值
  • setItem(keyname, value) 添加鍵和值,如果對應(yīng)的值存在,則更新該鍵對應(yīng)的值。
  • removeItem(keyname) 移除鍵
  • clear() 清除存儲對象中所有的鍵

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • 慎用 somefunction.prototype 分析

    慎用 somefunction.prototype 分析

    在寫 JavaScript 腳本的時候,為了創(chuàng)建一個類,如果不使用框架,一般情況我們都會使用 prototype 來給要創(chuàng)建的類增加公有方法
    2009-06-06
  • TypeScript中命名空間與模塊化詳情

    TypeScript中命名空間與模塊化詳情

    這篇文章主要介紹了TypeScript中命名空間與模塊化詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • JS實現(xiàn)簡單的天數(shù)計算器完整實例

    JS實現(xiàn)簡單的天數(shù)計算器完整實例

    這篇文章主要介紹了JS實現(xiàn)簡單的天數(shù)計算器,結(jié)合完整實例形式分析了javascript針對日期的獲取及天數(shù)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • JavaScript禁用右鍵單擊優(yōu)缺點分析

    JavaScript禁用右鍵單擊優(yōu)缺點分析

    在本篇文章里小編給大家分享了關(guān)于JavaScript禁用右鍵單擊優(yōu)缺點分析,有需要的朋友們學(xué)習(xí)下。
    2019-01-01
  • 如何在webpack項目中調(diào)試loader插件

    如何在webpack項目中調(diào)試loader插件

    最近在學(xué)習(xí)webpack,本文主要介紹了loader插件的調(diào)試方法,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • JS異步任務(wù)的并行、串行及二者結(jié)合用法

    JS異步任務(wù)的并行、串行及二者結(jié)合用法

    讓多個異步任務(wù)按照我們的想法執(zhí)行,是開發(fā)中常見的需求,今天我們就來捋一下,如何讓多個異步任務(wù)并行,串行,以及并行串行相結(jié)合,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • 修復(fù)bash漏洞的shell腳本分享

    修復(fù)bash漏洞的shell腳本分享

    這篇文章主要介紹了修復(fù)bash漏洞的shell腳本分享,本文腳本適應(yīng)常見的linux服務(wù)器系統(tǒng),如CentOS、Debian、Ubuntu、OpenSuSE、Aliyun等系統(tǒng),需要的朋友可以參考下
    2014-12-12
  • 用js實現(xiàn)下載遠(yuǎn)程文件并保存在本地的腳本

    用js實現(xiàn)下載遠(yuǎn)程文件并保存在本地的腳本

    //將常用的vbs下載者改成js版了。本來想用jsc.exe編譯,可是不成功。jsc.exe不認(rèn)WScript
    2008-05-05
  • Javascript之JSBridge初探

    Javascript之JSBridge初探

    這篇文章主要介紹了Javascript的JSBridge,對JSBridge感興趣的同學(xué),可以參考下
    2021-04-04
  • 微信小程序?qū)崿F(xiàn)bindtap等事件傳參

    微信小程序?qū)崿F(xiàn)bindtap等事件傳參

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)bindtap等事件傳參,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04

最新評論