摘要:方法為指定的鍵設(shè)置值獲取指定鍵的值獲取位置的鍵名根據(jù)指定的鍵刪除鍵值對(duì)刪除所有的簡(jiǎn)直對(duì)測(cè)試測(cè)試結(jié)果實(shí)例化對(duì)象定義存儲(chǔ)某個(gè)特定會(huì)話的數(shù)據(jù),這些數(shù)據(jù)值保持在瀏覽器運(yùn)行期間。
方法
setItem(name, value):為指定的鍵設(shè)置值
getItem(name):獲取指定鍵的值
key(index):獲取index位置的鍵名
removeItem(name):根據(jù)指定的鍵刪除鍵值對(duì)
clear():刪除所有的簡(jiǎn)直對(duì)
測(cè)試:
sessionStorage.setItem("book", "Professional JavaScript"); const sessionLength = sessionStorage.length; for(let i=0;i測(cè)試結(jié)果:
實(shí)例化對(duì)象
sessionStorage
定義:sessionStorage存儲(chǔ)某個(gè)特定會(huì)話的數(shù)據(jù),這些數(shù)據(jù)值保持在瀏覽器運(yùn)行期間。
特點(diǎn):
1、sessionStorage中的數(shù)據(jù)可以跨越頁面刷新而存在
2、綁定于某個(gè)特定的服務(wù)器會(huì)話
3、相當(dāng)于一個(gè)頁面的全局變量,可以用來記錄某個(gè)頁面的訪問次數(shù)globalStorage
定義:擁有特定訪問限制的跨越會(huì)話存儲(chǔ)數(shù)據(jù)
特點(diǎn):
1、globalStorage不算是storage的實(shí)例化對(duì)象,globalStorage["baidu.com"](指定哪個(gè)域名可以訪問
該數(shù)據(jù))才算是storage的實(shí)例化對(duì)象,才能使用storage對(duì)象中的所有方法localStorage
定義:localStorage和globalStorage都是用于用戶數(shù)據(jù)的長(zhǎng)久存儲(chǔ),但是他沒有規(guī)則的限制,規(guī)則早已制定好:只有來自同一域名,使用同一協(xié)議,在同一端口上的頁面才可以訪問localStorage中存儲(chǔ)的數(shù)據(jù),localStorage已經(jīng)代替globalStorage來進(jìn)行長(zhǎng)久用戶數(shù)據(jù)的存儲(chǔ)storage事件
觸發(fā)時(shí)間
只要對(duì)Storage對(duì)象進(jìn)行修改,就會(huì)在document上觸發(fā)這個(gè)事件,例如調(diào)用setItem,removeItem或者clear方法時(shí)都會(huì)觸發(fā)這個(gè)事件具體使用方法
EventUtil.addHandler(document, "storage", (event) => { const change = `Storage changed for ${event.domain}-${event.key}-${event.oldValue}-${event.newValue}`; console.log(change); })監(jiān)聽事件的返回對(duì)象參數(shù)有:
domain:發(fā)生變化的域名
key:發(fā)生修改的鍵
oldValue:修改前的值
newValue:修改后的值
注意:這個(gè)事件對(duì)localStorage和sessionStorage都有用,但是無法判斷是哪一個(gè)
使用事例
function updateCounter(){ document.getElementById("count1").innerHTML = sessionStorage.pageLoadCount; document.getElementById("count2").innerHTML = localStorage.pageLoadCount; } function counter(){ if(localStorage.getItem("pageLoadCount") === null){ localStorage.setItem("pageLoadCount", 0); } if(sessionStorage.getItem("sessionCount") === null){ sessionStorage.setItem("pageLoadCount", 0); } localStorage.pageLoadCount = parseInt(localStorage.getItem("pageLoadCount")) + 1; sessionStorage.pageLoadCount = parseInt(localStorage.getItem("pageLoadCount")) + 1; updateCounter(); } counter();可以看到每刷新一次頁面,pageLoadCount都會(huì)加1,但是當(dāng)關(guān)掉這個(gè)頁面的時(shí)候,sessionStorage中的pageLoadCount會(huì)還原成1,localStorage中的pageLoadCount還是原來的數(shù)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/93092.html
摘要:的存儲(chǔ)策略為了支持大容量,存儲(chǔ)節(jié)點(diǎn)服務(wù)器采用了分卷或分組的組織方式。的文件下載客戶端成功后,會(huì)拿到一個(gè)生成的文件名,接下來客戶端根據(jù)這個(gè)文件名即可訪問到該文件。一、FastDFS介紹FastDFS開源地址:https://github.com/happyfish100參考:分布式文件系統(tǒng)FastDFS設(shè)計(jì)原理參考:FastDFS分布式文件系統(tǒng)個(gè)人封裝的FastDFS Java API:htt...
摘要:客戶端請(qǐng)求進(jìn)行文件上傳下載,通過調(diào)度最終由完成文件上傳和下載。作用是文件存儲(chǔ),客戶端上傳的文件最終存儲(chǔ)在服務(wù)器上,沒有實(shí)現(xiàn)自己的文件系統(tǒng)而是利用操作系統(tǒng)的文件系統(tǒng)來管理文件。如果名為的文件在文件系統(tǒng)中存在,則返回,否則返回。 什么是FastDFS FastDFS 是用 c 語言編寫的一款開源的分布式文件系統(tǒng)。FastDFS 為互聯(lián)網(wǎng)量身定制, 充分考慮了冗余備份、負(fù)載均衡、線性擴(kuò)容等機(jī)...
摘要:的目的就是取代進(jìn)行大量的本地?cái)?shù)據(jù)存儲(chǔ),其中不能進(jìn)行跨會(huì)話存儲(chǔ),這可以使用彌補(bǔ)。刪除由指定的名值對(duì)兒。使用方法存儲(chǔ)數(shù)據(jù)使用屬性存儲(chǔ)數(shù)據(jù)使用方法讀取數(shù)據(jù)使用屬性讀取數(shù)據(jù)一般來說,對(duì)存儲(chǔ)空間大小的限制都是以每個(gè)源協(xié)議域和端口為單位的。 前言 本文首先介紹web storage和Cookie的對(duì)比,解釋web storage的優(yōu)勢(shì);隨后指出怎樣使用插firebug插件的擴(kuò)展firestorag...
摘要:的目的就是取代進(jìn)行大量的本地?cái)?shù)據(jù)存儲(chǔ),其中不能進(jìn)行跨會(huì)話存儲(chǔ),這可以使用彌補(bǔ)。刪除由指定的名值對(duì)兒。使用方法存儲(chǔ)數(shù)據(jù)使用屬性存儲(chǔ)數(shù)據(jù)使用方法讀取數(shù)據(jù)使用屬性讀取數(shù)據(jù)一般來說,對(duì)存儲(chǔ)空間大小的限制都是以每個(gè)源協(xié)議域和端口為單位的。 前言 本文首先介紹web storage和Cookie的對(duì)比,解釋web storage的優(yōu)勢(shì);隨后指出怎樣使用插firebug插件的擴(kuò)展firestorag...
閱讀 834·2021-10-13 09:39
閱讀 3713·2021-10-12 10:12
閱讀 1763·2021-08-13 15:07
閱讀 1021·2019-08-29 15:31
閱讀 2898·2019-08-26 13:25
閱讀 1789·2019-08-23 18:38
閱讀 1893·2019-08-23 18:25
閱讀 1865·2019-08-23 17:20