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

JavaScript中本地存儲(LocalStorage)和會話存儲(SessionStorage)的使用

 更新時間:2022年03月21日 11:50:51   作者:我想養(yǎng)只貓 ?????  
本地存儲和會話存儲是比較常用的方法,你知道兩者的區(qū)別嗎,本文詳細(xì)的介紹了JavaScript中本地存儲(LocalStorage)和會話存儲(SessionStorage)的使用,具有一定的參考價值,感興趣的可以了解一下

我不會告訴你任何定義和概念,上車,讀完這篇博客,你就會對本地存儲(Local Storage) 和 會話存儲(Session Storage)有一個清晰的認(rèn)識。

前提知識

請按照我以下的步驟來:

1、在任意網(wǎng)頁中按F12打開開發(fā)者工具

在這里插入圖片描述

2、單擊Application,即應(yīng)用

在這里插入圖片描述

3、單擊存儲,您將在那里看到本地存儲和會話存儲。

在這里插入圖片描述

本地存儲和會話存儲都存儲鍵值對。

本地存儲和會話存儲的主要區(qū)別在于關(guān)閉瀏覽器,存儲在 會話存儲 中的鍵值對會丟失

范例

現(xiàn)在,讓我們通過一些示例來了解如何對本地存儲進(jìn)行操作。

示例1:將鍵值對提供給本地存儲

localStorage.setItem('Name1', 'uiu');

控制臺執(zhí)行,查看效果

在這里插入圖片描述

讓我們看看本地存儲的“ typeof ”:

在這里插入圖片描述

示例2: 本地存儲中設(shè)置鍵值對

在上面的示例中,我們看到了 如何在本地存儲中設(shè)置鍵值對。

現(xiàn)在,讓我們了解如何從本地存儲中獲取鍵值對。

let Name1 = localStorage.getItem('Name1')
console.log(Name1)

在這里插入圖片描述

示例3: 獲取空值

現(xiàn)在,讓我們嘗試獲取一些不存在的值。

let Name2 = localStorage.getItem('Name2');
console.log(Name2)

在這里插入圖片描述

如果您嘗試從不存在的本地存儲中獲取某些內(nèi)容,則結(jié)果為 null 。

很多時候我們希望將數(shù)組存儲在本地存儲中,因?yàn)閿?shù)組很容易使用(我們有很多內(nèi)置的數(shù)組方法)。

但是,本地存儲的一個限制是它將數(shù)組存儲為字符串。讓我們看看我的意思:

// 本地存儲
localStorage.setItem('WebSite', 'uiuing.com');

// 定義ProgrammingLanguage數(shù)組
let ProgrammingLanguage = ['Java', 'Python', 'JavaScript', 'GO+']
// 本地存儲存儲 ProgrammingLanguage數(shù)組
localStorage.setItem('favoriteProgrammingLanguage', ProgrammingLanguage);

在這里插入圖片描述

為了克服這個問題??,我們使用 JSON.stringify。請看下面的實(shí)際操作

示例 4:將數(shù)組存儲在本地存儲中

現(xiàn)在我們使用 JSON.stringify 將數(shù)組存儲在本地存儲中

localStorage.setItem('WebSite', 'uiuing.com');
let ProgrammingLanguage = ['Java', 'Python', 'JavaScript', 'GO+']

// 這里講原先的ProgrammingLanguage 修改為了 JSON.stringify(ProgrammingLanguage)
localStorage.setItem('favoriteProgrammingLanguage',JSON.stringify(ProgrammingLanguage));

在這里插入圖片描述

示例 5:從本地存儲中獲取數(shù)組

從本地存儲中獲取數(shù)組。

在這里插入圖片描述

上面的結(jié)果可能看起來像一個數(shù)組,但我們從本地存儲而不是數(shù)組獲取字符串。

讓我證明一下。

在這里插入圖片描述


因此,為了從本地存儲中獲取數(shù)組,我們使用 JSON.parse ,見下文。

示例 6:從本地存儲中獲取數(shù)組?

現(xiàn)在我們 JSON.parse 使用從本地存儲中獲取數(shù)組

console.log(JSON.parse(localStorage.getItem('favoriteProgrammingLanguage')));

在這里插入圖片描述

因此,我們使用:

JSON.stringify:將數(shù)組設(shè)置為本地存儲中的值。JSON.parse:從本地存儲中獲取數(shù)組。

示例 7:清除本地存儲

清理前

在這里插入圖片描述

localStorage.clear()

運(yùn)行后

在這里插入圖片描述

因此,我們可以使用 localStorage.clear() 來清除本地存儲

僅從本地存儲中刪除“name1”鍵值對。

示例 8:僅從本地存儲中刪除 Name1 鍵值對

localStorage.setItem('Name1', 'uiu');
localStorage.setItem('WebSite', 'uiuing.com');

let ProgrammingLanguage = ['Java', 'Python', 'JavaScript', 'GO+']
localStorage.setItem('favoriteProgrammingLanguage',JSON.stringify(ProgrammingLanguage));

在這里插入圖片描述

運(yùn)行這條命令試試

localStorage.removeItem('Name1');

在這里插入圖片描述

正如您在上面看到的,為了刪除我們使用的特定鍵值對 localStorage.removeItem 。

會話存儲

這就是關(guān)于本地存儲的全部內(nèi)容。

我們在 會話存儲 中運(yùn)行類似的操作,唯一的區(qū)別是我們 使用 sessionStorage 代替 localStorage

// 示例1
sessionStorage.setItem('Name1', 'uiu');

// 示例2
sessionStorage.getItem('Name1');

// 示例4
let ProgrammingLanguage = ['Java', 'Python', 'JavaScript', 'GO+']
sessionStorage.setItem('favoriteProgrammingLanguage',JSON.stringify(ProgrammingLanguage));

// 示例6
console.log(JSON.parse(sessionStorage.getItem('favoriteProgrammingLanguage')));

// 示例7
sessionStorage.clear()

// 示例8
sessionStorage.removeItem('Name1');

讓我們運(yùn)行一下

sessionStorage.setItem('Name1', 'uiu');

在這里插入圖片描述

接下來我們關(guān)閉該網(wǎng)頁,然后重新打開

在這里插入圖片描述

此時會話存儲的數(shù)據(jù)已經(jīng)消失了,而之前示例運(yùn)行的數(shù)據(jù)在本地存儲中還存在

在這里插入圖片描述

在這里插入圖片描述

總結(jié)

讓我重申一下:本地存儲和會話存儲之間唯一的主要區(qū)別是,一旦我們關(guān)閉瀏覽器,我們就會丟失會話存儲中保存的任何內(nèi)容。但是,本地存儲并非如此。

最后,讓我們看看 MDN 怎么說:

  • 窗口界面的 localStorage 只讀屬性允許您訪問 Document 來源的 Storage 對象;存儲的數(shù)據(jù)跨瀏覽器會話保存。

  • 只讀 sessionStorage 屬性訪問當(dāng)前源的會話存儲對象。sessionStorage 類似于 localStorage;不同之處在于,雖然 localStorage 中的數(shù)據(jù)不會過期,但 sessionStorage 中的數(shù)據(jù)會在頁面會話結(jié)束時被清除。

 到此這篇關(guān)于JavaScript中本地存儲(LocalStorage)和會話存儲(SessionStorage)的使用的文章就介紹到這了,更多相關(guān)JavaScript本地存儲和會話存儲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解一個小實(shí)例理解js原型和繼承

    詳解一個小實(shí)例理解js原型和繼承

    這篇文章主要介紹了js原型和繼承,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • JS實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼

    JS實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • webpack4.x下babel的安裝、配置及使用詳解

    webpack4.x下babel的安裝、配置及使用詳解

    這篇文章主要介紹了webpack4.x下babel的安裝、配置及使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 微信小程序?qū)崿F(xiàn)按字母排列選擇城市功能

    微信小程序?qū)崿F(xiàn)按字母排列選擇城市功能

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)按字母排列選擇城市功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • JavaScript中var、let和const的用法及區(qū)別詳解

    JavaScript中var、let和const的用法及區(qū)別詳解

    在JavaScript中l(wèi)et和const是用于聲明變量的關(guān)鍵字,并且它們相較于var具有更加靈活和安全的特性,這篇文章主要介紹了JavaScript中var、let和const的用法及區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2025-04-04
  • js數(shù)組去重的方法匯總

    js數(shù)組去重的方法匯總

    本文給大家匯總介紹了3種javascript數(shù)組去重的方法以及示例,十分的簡單實(shí)用,有需要的小伙伴可以參考下。
    2015-07-07
  • 微信小程序?qū)崿F(xiàn)猜數(shù)字小游戲的實(shí)戰(zhàn)過程

    微信小程序?qū)崿F(xiàn)猜數(shù)字小游戲的實(shí)戰(zhàn)過程

    一起猜數(shù)字是微信一款休閑類小游戲,下面這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)猜數(shù)字小游戲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • js實(shí)現(xiàn)字符串和數(shù)組之間相互轉(zhuǎn)換操作

    js實(shí)現(xiàn)字符串和數(shù)組之間相互轉(zhuǎn)換操作

    這篇文章主要介紹了js實(shí)現(xiàn)字符串和數(shù)組之間相互轉(zhuǎn)換操作的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-01-01
  • JS簡單實(shí)現(xiàn)tab切換效果的多窗口顯示功能

    JS簡單實(shí)現(xiàn)tab切換效果的多窗口顯示功能

    這篇文章主要介紹了JS簡單實(shí)現(xiàn)tab切換效果的多窗口顯示功能,可實(shí)現(xiàn)響應(yīng)鼠標(biāo)事件的文字切換顯示效果,涉及javascript頁面元素遍歷與樣式變換相關(guān)操作技巧,需要的朋友可以參考下
    2016-09-09
  • JavaScript 節(jié)流函數(shù) Throttle 詳解

    JavaScript 節(jié)流函數(shù) Throttle 詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript 節(jié)流函數(shù) Throttle,感興趣的小伙伴們可以參考一下
    2016-07-07

最新評論