亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js如何操作localstorage

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

js操作localstorage

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

有幾個(gè)優(yōu)勢(shì):

  • ①數(shù)據(jù)存儲(chǔ)量大
  • ②不會(huì)攜帶給后臺(tái),避免傳輸沒用的數(shù)據(jù)
  • ③操作簡(jiǎn)便

1、首先封裝一個(gè)全局方法

以便各個(gè)地方調(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)用方法

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

 js localstorage(本地存儲(chǔ))必知

HTML API

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

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

基本用法

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

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

生存期

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

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

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

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

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

容量限制

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

域名限制

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

異常處理

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

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

localstorage的異常處理一般用try/catch來(lái)捕獲/處理異常。

JavaScript 存儲(chǔ)對(duì)象

存儲(chǔ)對(duì)象方法

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

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

相關(guān)文章

最新評(píng)論