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

JavaScript localStorage使用教程詳解

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

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

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

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

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

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

  • sessionStorage
  • localStorage

什么是本地存儲?

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

localStorage 有五種方法,它們是:

  • setItem
  • getItem
  • removeItem
  • clear
  • key

sessionStorage 和 localStorage 的區(qū)別

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

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

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

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

本地存儲方法

中有五個方法localStorage。這些方法可讓您存儲項目、獲取項目、刪除項目和清除localStorage.

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

使用 localStorage.setItem API,您可以將鍵/值對存儲在本地存儲中。這是一個關(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ù),因為用戶生成的密鑰可以通過任何類似toStringlength或 localStorage 的任何其他內(nèi)置方法名稱

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

使用類似對象的符號

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

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

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

這將返回值作為Mars Bar

使用對象表示法

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

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

3. removeItem() 從本地存儲中刪除一個項目

localStorage您可以使用該removeItem方法刪除任何項目

將您需要刪除的項目的鍵傳遞給該removeItem方法,并將其從localStorage

window.localStorage.removeItem('candies');

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

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

4. clear() 清除localStorage

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

window.localStorage.clear();

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

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

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

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

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)熟悉了。

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

window.localStorage.length
2

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

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

存儲事件

每當對存儲對象進行更改時都會觸發(fā)存儲事件

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

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

構(gòu)造器

StorageEvent()

返回一個新StorageEvent對象

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

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

new window.StorageEvent(keys)

回報

實例屬性

Keys (read only)

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

newValue(read only)

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

oldValue(read only)

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

storageArea(read only)

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

url(read only)

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

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

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

本地存儲限制

以下是一些限制localStorage

  • 限制最多 5MB 的數(shù)據(jù)
  • 不要存儲敏感數(shù)據(jù),localStorage因為它可以很容易地通過跨站點腳本訪問
  • localStorage是同步的意味著它被一個接一個地訪問并且
  • 不要用作localStorage數(shù)據(jù)庫。

檢測 localStorage:測試可用性

瀏覽器兼容性

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

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

用戶也可以禁用localStorage

例外情況

securityError

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

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

結(jié)論

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

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

相關(guān)文章

最新評論