最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript localStorage使用教程詳解

 更新時(shí)間:2023年06月19日 09:19:32   作者:happyEnding  
JavaScriptlocalStorage基本上是瀏覽器Window對象中的存儲,您可以在中存儲任何內(nèi)容localStorage,localStorage及其相關(guān)的sessionStorage是 Web Storage API的一部分,我們將在本文詳細(xì)了解這些,需要的朋友可以參考下

什么是網(wǎng)絡(luò)存儲 API?

Web Storage API 提供了瀏覽器可以存儲鍵/值對數(shù)據(jù)(如對象)的方法。

存儲在網(wǎng)絡(luò)存儲 API 中的鍵/值對總是以字符串的形式存在。(整數(shù)鍵自動(dòng)轉(zhuǎn)換為字符串)

Web Storage API 提供了一組方法,您可以使用它們來訪問、刪除修改鍵/值對

Web Storage API 中有兩種類型的存儲可用

  • sessionStorage
  • localStorage

什么是本地存儲?

LocalStrorage是網(wǎng)絡(luò)存儲 API 的一部分。它允許您將持久數(shù)據(jù)(數(shù)據(jù)保留在瀏覽器重新加載以及瀏覽器關(guān)閉和重新打開時(shí))Window作為鍵/值對字符串存儲在瀏覽器對象中。

localStorage 有五種方法,它們是:

  • setItem
  • getItem
  • removeItem
  • clear
  • key

sessionStorage 和 localStorage 的區(qū)別

sessionStorage都是localStorageWeb 存儲 API 的一部分。

  • 僅在瀏覽器打開之前可用sessionStorage,當(dāng)瀏覽器關(guān)閉時(shí),將sessionStorage被刪除。(sessionStorage在瀏覽器重新加載時(shí)可用,但在瀏覽器關(guān)閉時(shí) sessionStorage 被刪除)
  • localStorage是持久數(shù)據(jù),即使瀏覽器關(guān)閉,localStorage數(shù)據(jù)仍保留在瀏覽器中
  • localStorage可由用戶手動(dòng)刪除,當(dāng)用戶處于隱身窗口或隱私窗口且用戶關(guān)閉瀏覽器時(shí)自動(dòng)刪除

sessionStoragelocalStorage提供了類似的方法來訪問和存儲瀏覽器中的數(shù)據(jù)

我們將更多地了解LocalStorage以下方法

本地存儲方法

中有五個(gè)方法localStorage。這些方法可讓您存儲項(xiàng)目、獲取項(xiàng)目、刪除項(xiàng)目和清除localStorage.

1. setItem():將數(shù)據(jù)存儲到localStorage

使用 localStorage.setItem API,您可以將鍵/值對存儲在本地存儲中。這是一個(gè)關(guān)于如何存儲數(shù)據(jù)的例子。

window.localStorage.setItem('candy name', 'Mars Bar');

thecandy name是鍵,theMars Bar是值。正如我們提到的,localStorage 只存儲字符串。

您可以在瀏覽器本身中嘗試此操作。這是在 chrome 瀏覽器中存儲數(shù)據(jù)的示例

localStorage在using中有多種存儲數(shù)據(jù)的方法setItem。您可以通過以下方式訪問對象中的數(shù)據(jù):

window.localStorage.candyName = 'Mars';
window.localStorage['candyName'] = 'Mars';
window.localStorage.setItem('candyName','mars');

允許但不建議以類似對象的方式存儲或訪問數(shù)據(jù),因?yàn)橛脩羯傻拿荑€可以通過任何類似toStringlength或 localStorage 的任何其他內(nèi)置方法名稱

在這種情況下,getItemandsetItem可以正常工作,但 Object like 方法將失敗

使用類似對象的符號

2. getItem():從localStorage中獲取數(shù)據(jù)

使用 getItem API,我們可以檢索存儲在 localStorage 中的鍵/值對

getItem() 接受一個(gè)鍵并將值作為字符串返回

這將返回值作為Mars Bar

使用對象表示法

使用對象表示法,您還可以訪問數(shù)據(jù)(盡管不推薦這樣做)

window.localStorage.candyName
returns 'Mars'
window.localStorage['candy2']
returns 'turtles'

3. removeItem() 從本地存儲中刪除一個(gè)項(xiàng)目

localStorage您可以使用該removeItem方法刪除任何項(xiàng)目

將您需要?jiǎng)h除的項(xiàng)目的鍵傳遞給該removeItem方法,并將其從localStorage

window.localStorage.removeItem('candies');

讓我們使用控制臺看看 removeItem 是如何工作的。首先,我們將使用 length 屬性來檢查本地存儲中有多少項(xiàng)

如您所見,當(dāng)我們使用 length 屬性時(shí),它顯示localStorage. 在我們刪除一個(gè)項(xiàng)目后,現(xiàn)在本地存儲中只剩下一個(gè)項(xiàng)目

4. clear() 清除localStorage

使用Clear()localStorage API 的方法,您可以清除整個(gè) localStorage 并刪除 localStorage 中的所有數(shù)據(jù)

window.localStorage.clear();

讓我們使用控制臺看看 clear 方法是如何工作localStorage

我們將使用長度來檢查項(xiàng)目的數(shù)量localStorage

5. key() 返回存儲中的第n個(gè)鍵

key 方法可以傳遞任何整數(shù),它將返回存儲在存儲對象中第 n 個(gè)鍵的鍵

window.localstorage.key(index)

讓我們使用控制臺看看密鑰是如何工作的

我們已經(jīng)將鍵/值對放在 localStorage 中,例如

window.localStorage.candyName = 'Mars'
window.localStorage['candy2'] = 'turtles'

讓我們使用length檢查 localStorage 的內(nèi)容

window.localStorage.length

如您所知,索引從 0 開始。讓我們看看索引 0 處有什么

讓我們看看索引 1 是什么

存儲屬性

length : 存儲在本地的鍵/值對的數(shù)量

長度是接口的只讀屬性localStorage。它返回存儲在中的鍵/值對的數(shù)量localStorage

window.localStorage.length

我們可以使用 length 屬性來測試是否localStorage填充了。

到目前為止,我們已經(jīng)多次使用了 length 屬性,您可能已經(jīng)熟悉了。

讓我們在不同的用例中使用長度屬性來進(jìn)一步探索它的用途。讓我們打開控制臺,看看如何使用 length 屬性

window.localStorage.length
2

現(xiàn)在 length 屬性也可以用來檢查 localStorage 是否為空。讓我們清除 localStorage,看看如果我們使用 length 屬性會發(fā)生什么

它返回 0。因此我們知道如果 length 屬性返回 0,則 localStorage 為空

存儲事件

每當(dāng)對存儲對象進(jìn)行更改時(shí)都會觸發(fā)存儲事件

當(dāng)窗口有權(quán)訪問的存儲區(qū)域在另一個(gè)文檔的上下文中發(fā)生更改時(shí),將 StorageEvent 發(fā)送到窗口

存儲事件是每當(dāng)發(fā)生更改時(shí)都會觸發(fā)的事件,您可以收聽存儲事件并在您的網(wǎng)站或應(yīng)用程序中做出適當(dāng)?shù)臎Q定。

構(gòu)造器

StorageEvent()

返回一個(gè)新StorageEvent對象

讓我們使用控制臺創(chuàng)建一個(gè)新的 storageEvent() 實(shí)例

創(chuàng)建 StorageEvent 的新實(shí)例

new window.StorageEvent(keys)

回報(bào)

實(shí)例屬性

Keys (read only)

返回表示已更改的鍵的字符串。當(dāng)由 clear() 方法引起變化時(shí),key 屬性為 null

newValue(read only)

返回一個(gè)字符串,其中包含已更改的鍵的新值。當(dāng)使用 clear() 方法或密鑰已被刪除時(shí)為 null

oldValue(read only)

返回具有鍵的原始值的字符串。如果在之前沒有密鑰的地方添加了新密鑰,則為 null

storageArea(read only)

返回表示受影響的存儲區(qū)域的存儲對象。

url(read only)

返回一個(gè)字符串,其中包含密鑰被更改的文檔的 url

以下是有關(guān) localStorage 的一些有趣事實(shí)

  • localStorage始終以 UTF-16 字符串格式存儲。整數(shù)鍵被轉(zhuǎn)換為字符串并存儲在localStorage中
  • localStorage數(shù)據(jù)特定于瀏覽器和網(wǎng)站的協(xié)議。比如在HTTP和HTTPS中是不一樣的
  • 對于從file本地存儲的要求加載的文檔是未定義的,并且對于不同的瀏覽器是不同的
  • localStorage隱身或私人瀏覽器在瀏覽器關(guān)閉時(shí)被刪除

本地存儲限制

以下是一些限制localStorage

  • 限制最多 5MB 的數(shù)據(jù)
  • 不要存儲敏感數(shù)據(jù),localStorage因?yàn)樗梢院苋菀椎赝ㄟ^跨站點(diǎn)腳本訪問
  • localStorage是同步的意味著它被一個(gè)接一個(gè)地訪問并且
  • 不要用作localStorage數(shù)據(jù)庫。

檢測 localStorage:測試可用性

瀏覽器兼容性

LocalStorage 與所有最新的瀏覽器兼容。只有非常非常舊的瀏覽器如 Internet Explorer 6 或 7 不支持localStorage

在某些情況下,例如用戶處于隱私窗口或用戶處于隱身窗口,當(dāng)用戶關(guān)閉窗口時(shí)數(shù)據(jù)將立即被刪除

用戶也可以禁用localStorage

例外情況

securityError

在以下情況下會引發(fā)安全錯(cuò)誤:

  • Origin is not a valid scheme/host/port tuple 錯(cuò)誤。當(dāng)原點(diǎn)使用file:data:計(jì)劃時(shí)會發(fā)生這種情況。許多現(xiàn)代瀏覽器將file:origin 視為不透明的 origin。這意味著來自同一文件夾的一個(gè)或多個(gè)文件被假定為來自不同的來源并且可能觸發(fā) CORS 錯(cuò)誤
  • 該請求違反了政策決定。例如,用戶在瀏覽器上禁用了 localStorage

結(jié)論

在本文中,我解釋了 及其localStorage方法,以及如何使用它localStorage來保存數(shù)據(jù)和訪問數(shù)據(jù)、刪除數(shù)據(jù)和修改數(shù)據(jù)

以上就是JavaScript localStorage使用教程詳解的詳細(xì)內(nèi)容,更多關(guān)于JavaScript localStorage的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

和静县| 汶川县| 灵丘县| 棋牌| 磐石市| 仁怀市| 土默特左旗| 宝山区| 罗平县| 通许县| 贵州省| 万州区| 汶川县| 汾西县| 亚东县| 宁化县| 景谷| 永靖县| 香港| 伽师县| 嘉祥县| 什邡市| 德兴市| 毕节市| 和林格尔县| 新河县| 赣榆县| 临湘市| 九江县| 赣州市| 邻水| 苍溪县| 从江县| 河东区| 比如县| 南陵县| 台山市| 青铜峡市| 墨江| 萍乡市| 龙口市|