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

JavaScript本地?cái)?shù)據(jù)存儲(chǔ)sessionStorage與localStorage使用詳解

 更新時(shí)間:2022年10月24日 09:48:18   作者:YinJie…  
這篇文章主要介紹了JavaScript本地?cái)?shù)據(jù)存儲(chǔ)sessionStorage與localStorage使用,localStorage:永久存儲(chǔ)在本地,適合保存在本地的數(shù)據(jù)。sessionStorage:會(huì)話級(jí)的存儲(chǔ),敏感帳號(hào)一次登陸

小案例:

在這個(gè)登錄注冊(cè)頁面案例里,我們并沒有連接數(shù)據(jù)庫而是用到了本地存儲(chǔ)這個(gè)知識(shí)點(diǎn)完成的,我們看看本地存儲(chǔ)究竟是什么:

本地存儲(chǔ)特性

  • 數(shù)據(jù)存儲(chǔ)在用戶瀏覽器中
  • 設(shè)置、讀取方便、甚至頁面刷新不丟失數(shù)據(jù)
  • 容量較大, sessionStorage約5M、localStorage約20M .
  • 只能存儲(chǔ)字符串,可以將對(duì)象JSON.stringify()編碼后存儲(chǔ)

window.sessionStorage

特點(diǎn)

  • 生命周期為關(guān)閉瀏覽器窗口
  • 在同一個(gè)窗口(頁面)下數(shù)據(jù)可以共享
  • 以鍵值對(duì)的形式存儲(chǔ)使用

使用

存儲(chǔ)數(shù)據(jù):

sessionStorage.setItem(key,value)

獲取數(shù)據(jù):

sessionStorage.getItem(key)

刪除數(shù)據(jù):

sessionStorage.removeItem(key)

刪除所有數(shù)據(jù):

sessionStorage.clear()

在瀏覽器里點(diǎn)擊這個(gè)按鈕點(diǎn)Application就能看到我們存儲(chǔ)的數(shù)據(jù)

就存儲(chǔ)在Storage下,sessionStorage與localStorage存儲(chǔ)的數(shù)據(jù)是分開的

例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <input type="text">
    <button class="set">存儲(chǔ)數(shù)據(jù)</button>
    <button class="get">獲取數(shù)據(jù)</button>
    <button class="remove">刪除數(shù)據(jù)</button>
    <button class="del">清空所有數(shù)據(jù)</button>
    <script>
        console.log(localStorage.getItem('username'));
        var ipt = document.querySelector('input');
        var set = document.querySelector('.set');
        var get = document.querySelector('.get');
        var remove = document.querySelector('.remove');
        var del = document.querySelector('.del');
        set.addEventListener('click', function() {
            // 當(dāng)我們點(diǎn)擊了之后,就可以把表單里面的值存儲(chǔ)起來
            var val = ipt.value;
            sessionStorage.setItem('uname', val);
            sessionStorage.setItem('pwd', val);
        });
        get.addEventListener('click', function() {
            // 當(dāng)我們點(diǎn)擊了之后,就可以把表單里面的值獲取過來
            console.log(sessionStorage.getItem('uname'));
        });
        remove.addEventListener('click', function() {
            // 
            sessionStorage.removeItem('uname');

        });
        del.addEventListener('click', function() {
            // 當(dāng)我們點(diǎn)擊了之后,清除所有的
            sessionStorage.clear();
        });
    </script>
</body>
</html>

但我們單擊第一個(gè)存儲(chǔ)數(shù)據(jù)的按鈕后,我們輸入的數(shù)據(jù)‘ wwww '會(huì)被存儲(chǔ)在變量 val 里,然后通過鍵值對(duì)的形式存儲(chǔ)到瀏覽器里,我們可以在右邊的Application看到存儲(chǔ)的鍵值對(duì)

window.IocalStorage

特點(diǎn)

  • 生命周期永久生效,除非手動(dòng)刪除否則關(guān)閉頁面也會(huì)存在
  • 可以多窗口(頁面)共享(同一瀏覽器可以共享)
  • 以鍵值對(duì)的形式存儲(chǔ)使用

使用

存儲(chǔ)數(shù)據(jù):

localStoragesetItem(key,value)

獲取數(shù)據(jù):

localStorage.getItem(key)

刪除數(shù)據(jù):

localStorage.removeItem(key)

刪除所有數(shù)據(jù):

localStorage.clear()

IocalStorage的應(yīng)用方式和sessionStorage一樣只不過IocalStorage生命周期永久生效就算把瀏覽器關(guān)掉了,下次打開數(shù)據(jù)還會(huì)在,這就是它最突出的特點(diǎn)

綜合案例

有一個(gè)這樣的登錄注冊(cè)頁面,我們要實(shí)現(xiàn)像文章開頭那樣,可以保存注冊(cè)的數(shù)據(jù),然后判斷登陸頁面輸入的用戶名與密碼和本地存儲(chǔ)的數(shù)據(jù)是否一一對(duì)應(yīng)。這個(gè)案例怎么應(yīng)用剛剛學(xué)到的本地存儲(chǔ)知識(shí)點(diǎn)完成呢?

思路

我們可以聲明一個(gè)數(shù)組,把在注冊(cè)頁面中輸入的用戶名都存儲(chǔ)在數(shù)組里,讓注冊(cè)頁面的用戶名和密碼通過本地存儲(chǔ)存儲(chǔ)在瀏覽器中。然后回到登陸頁面,先判斷輸入的用戶名是否在用戶名數(shù)組里,如果是的話再在本地存儲(chǔ)的數(shù)據(jù)中找到該用戶名對(duì)應(yīng)的密碼,如果這個(gè)密碼和我們?cè)诘顷戫撁孑斎氲拿艽a相同,就登陸成功了

到此這篇關(guān)于JavaScript本地?cái)?shù)據(jù)存儲(chǔ)sessionStorage與localStorage使用詳解的文章就介紹到這了,更多相關(guān)JS sessionStorage與localStorage內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何利用微信小程序獲取OneNet平臺(tái)數(shù)據(jù)顯示溫濕度

    如何利用微信小程序獲取OneNet平臺(tái)數(shù)據(jù)顯示溫濕度

    最近在工作中遇到了一個(gè)需求,需要顯示溫濕度,網(wǎng)上找了一圈沒找到解決方法,所以只能自己寫一個(gè),這篇文章主要給大家介紹了關(guān)于如何利用微信小程序獲取OneNet平臺(tái)數(shù)據(jù)顯示溫濕度的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • javascript 就地編輯實(shí)現(xiàn)代碼

    javascript 就地編輯實(shí)現(xiàn)代碼

    最近正在看《javascript設(shè)計(jì)模式》,其中有一個(gè)'就地編輯'的示例,用來表現(xiàn)不同的繼承方式,看完之后想自己憑理解寫一個(gè)類似的東西。
    2010-05-05
  • 原生js封裝添加class,刪除class的實(shí)例

    原生js封裝添加class,刪除class的實(shí)例

    下面小編就為大家?guī)硪黄鷍s封裝添加class,刪除class的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望對(duì)大家有所幫助
    2017-11-11
  • 淺析TypeScript中的類型檢查與錯(cuò)誤捕獲

    淺析TypeScript中的類型檢查與錯(cuò)誤捕獲

    類型檢查是一種靜態(tài)分析的過程,用于驗(yàn)證變量、函數(shù)和表達(dá)式的類型是否符合預(yù)期,這篇文章主要來和大家聊聊TypeScript中類型檢查與錯(cuò)誤捕獲的相關(guān)知識(shí),希望對(duì)大家有所幫助
    2023-06-06
  • js封裝成插件的步驟方法

    js封裝成插件的步驟方法

    本篇文章主要介紹了js封裝成插件的步驟方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Javascript表達(dá)式中連續(xù)的 && 和 || 之賦值區(qū)別

    Javascript表達(dá)式中連續(xù)的 && 和 || 之賦值區(qū)別

    了區(qū)分賦值表達(dá)式中出現(xiàn)的連續(xù)的 ‘&&’和 ‘||’的不同的賦值含義,做了一個(gè)小測試.
    2010-10-10
  • JavaScript數(shù)組的隨機(jī)排序方法詳解

    JavaScript數(shù)組的隨機(jī)排序方法詳解

    在前端開發(fā)中,我們經(jīng)常需要對(duì)數(shù)組進(jìn)行隨機(jī)排序,例如在游戲、抽獎(jiǎng)、數(shù)據(jù)隨機(jī)展示等場景中,JavaScript 提供了多種方式來實(shí)現(xiàn)數(shù)組的隨機(jī)排序,本文將詳細(xì)介紹不同的方法,并分析它們的優(yōu)缺點(diǎn),幫助開發(fā)者在不同場景下選擇合適的解決方案,需要的朋友可以參考下
    2025-03-03
  • JS獲取短信驗(yàn)證碼倒計(jì)時(shí)的實(shí)現(xiàn)代碼

    JS獲取短信驗(yàn)證碼倒計(jì)時(shí)的實(shí)現(xiàn)代碼

    這篇文章主要介紹了JS獲取短信驗(yàn)證碼倒計(jì)時(shí)的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2017-05-05
  • JS設(shè)計(jì)模式之訪問者模式的用法詳解

    JS設(shè)計(jì)模式之訪問者模式的用法詳解

    JS訪問者模式是一種行為型設(shè)計(jì)模式,用于將算法與對(duì)象結(jié)構(gòu)分離, 該模式允許你定義新的操作(訪問者)而無需修改現(xiàn)有對(duì)象結(jié)構(gòu)(被訪問者), 通過這種方式,你可以在不改變對(duì)象結(jié)構(gòu)的情況下添加新的操作,本文就給大家詳細(xì)的講講JS訪問者模式的用法
    2023-08-08
  • 用js模擬JQuery的show與hide動(dòng)畫函數(shù)代碼

    用js模擬JQuery的show與hide動(dòng)畫函數(shù)代碼

    用javascript實(shí)現(xiàn)的模擬jquery下的顯示與隱藏的動(dòng)畫效果,學(xué)習(xí)的朋友可以參考下。
    2010-09-09

最新評(píng)論