超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

[點(diǎn)晴永久免費(fèi)OA]【HTML/JS】localStorage和sessionStorage使用方法及應(yīng)用場(chǎng)景說明

admin
2023年3月20日 12:3 本文熱度 1779
:localStorage和sessionStorage使用方法及應(yīng)用場(chǎng)景說明


這兩個(gè)是HTML5新增加的,經(jīng)常用到,在這里記錄一下。

兩個(gè)的共同點(diǎn)都是存儲(chǔ)在客戶端也就是瀏覽器,存儲(chǔ)的數(shù)據(jù)大小是5M,比cookie的4K大了很多。

1、生命周期:

  localStorage的生命周期是永久的,關(guān)閉頁面或?yàn)g覽器之后localStorage中的數(shù)據(jù)也不會(huì)消失。localStorage除非主動(dòng)刪除數(shù)據(jù),否則數(shù)據(jù)永遠(yuǎn)不會(huì)消失。

    作用域:相同瀏覽器的不同標(biāo)簽在同源情況下可以共享localStorage

  sessionStorage的生命周期是在僅在當(dāng)前會(huì)話下有效。sessionStorage引入了一個(gè)“瀏覽器窗口”的概念,sessionStorage是在同源的窗口中始終存在的數(shù)據(jù)。只要這個(gè)瀏覽器窗口沒有關(guān)閉,即使刷新頁面或者進(jìn)入同源另一個(gè)頁面,數(shù)據(jù)依然存在。但是sessionStorage在關(guān)閉了瀏覽器窗口后就會(huì)被銷毀。同時(shí)獨(dú)立的打開同一個(gè)窗口同一個(gè)頁面,sessionStorage也是不一樣的。

    作用域:只在當(dāng)前標(biāo)簽可用,當(dāng)前標(biāo)簽的iframe中且同源可以共享

2、存儲(chǔ)大?。?/strong>

  localStorage和sessionStorage的存儲(chǔ)數(shù)據(jù)大小一般都是:5MB

3、存儲(chǔ)位置:

  localStorage和sessionStorage都保存在客戶端,以鍵值對(duì)的形式存儲(chǔ),不與服務(wù)器進(jìn)行交互通信。

4、存儲(chǔ)內(nèi)容類型:

  localStorage和sessionStorage只能存儲(chǔ)字符串類型,對(duì)于復(fù)雜的對(duì)象可以使用ECMAscript提供的JSON對(duì)象的stringify和parse來處理

5、獲取方式:

  localStorage:window.localStorage;;

  sessionStorage:window.sessionStorage;。

6、應(yīng)用場(chǎng)景:

  localStoragese:常用于長(zhǎng)期登錄(+判斷用戶是否已登錄),適合長(zhǎng)期保存在本地的數(shù)據(jù)。

  sessionStorage:敏感賬號(hào)一次性登錄。

下面說一下具體用法:

兩個(gè)的用法可以說一樣,具體就是保存到本地、從本地取出來、刪除存儲(chǔ)的數(shù)據(jù)、清除全部,具體看下面代碼:

 1 //localStorage的用法 
 2 //保存到本地,第一個(gè)參數(shù)是變量名,第二個(gè)是值 
 3 localStorage.setItem('name','張三'); 
 4 //從本地取出,只有一個(gè)參數(shù),存儲(chǔ)的變量名 
 5 localStorage.getItem('name'); 
 6 //刪除某一個(gè)存儲(chǔ)的數(shù)據(jù) 
 7 localStorage.removeItem('name'); 
 8 //清除所有的數(shù)據(jù) 
 9 localStorage.clear();
10 //sessionStorage的用法,參考localStorage的用法
11 sessionStorage.setItem('name','李四');
12 sessionStorage.getItem('name');
13 sessionStorage.removeItem('name');
14 sessionStorage.clear();

第一次使用這個(gè)的可能會(huì)問怎么知道數(shù)據(jù)有沒有存儲(chǔ)到客戶端,很簡(jiǎn)單,就像我們查看元素一樣,localStorage和sessionStorage也可以在瀏覽器控制臺(tái)查看,首先運(yùn)行以下代碼:

1 //保存到本地
2 localStorage.setItem('name','張三');
3 
4 sessionStorage.setItem('name','李四');

然后就可以看到下圖:

可以看到我們想要保存的數(shù)據(jù)已經(jīng)存儲(chǔ)到了本地。 

上面只是簡(jiǎn)單的存儲(chǔ),在實(shí)際項(xiàng)目中可能會(huì)出現(xiàn)需要存儲(chǔ)數(shù)組或者是對(duì)象,這樣的情況下就不能像上面那樣簡(jiǎn)單的存儲(chǔ),需要轉(zhuǎn)換一下格式。

因?yàn)閘ocalStorage和sessionStorage是以字符串格式存儲(chǔ)到本地的。

對(duì)于需要存儲(chǔ)數(shù)組或者是對(duì)象,我們可以轉(zhuǎn)換一下格式,如下代碼:

1 //保存
2 setSession(key,value){
3     localStorage.setItem(key,JSON.stringify(value))
4 };
5 //取出
6 getSession(key){
7     return JSON.parse(localStorage.getItem(key))
8 };

上面是localStorage用法,sessionStorage同理。

刪除和清除全部還是上面代碼。


特別要注意:

setStorage是存儲(chǔ)數(shù)據(jù)的,key是指定的數(shù)據(jù)名稱,可以隨意起,但是一定要是字符串類型,否則瀏覽器自動(dòng)把值作為key的名字。

如上圖第一個(gè)值,就是key不是以字符串指定的,即沒有加雙引號(hào)。value值字符串類型的也切記加雙引號(hào)。


該文章在 2023/3/20 16:12:49 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved