1. 程式人生 > 其它 >使用localstorage_淺析localStorage(本地儲存)

使用localstorage_淺析localStorage(本地儲存)

技術標籤:使用localstorage

Window localStorage 屬性

前言

只讀的localStorage屬性允許你訪問一個Document源(origin)的物件Storage;儲存的資料將儲存在瀏覽器會話中。localStorage類似sessionStorage,但其區別在於:儲存在localStorage 的資料可以長期保留;而當頁面會話結束——也就是說,當頁面被關閉時,儲存在sessionStorage的資料會被清除 。

應注意,無論資料儲存在 localStorage 還是 sessionStorage它們都特定於頁面的協議。

另外,localStorage

中的鍵值對總是以字串的形式儲存。 (需要注意, 和js物件相比, 鍵值對總是以字串的形式儲存意味著數值型別會自動轉化為字串型別).

概念

使用 localStorage 建立一個本地儲存的 name/value 對,name="lastname" value="Smith", 然後檢索 "lastname" 的值,並插入到 id="result" 的元素上:

例項一

HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>xxx</title>
</head>
<body>

<div id="result"></div>

</body>
</html>
JS
<script>
// 判斷瀏覽器是否支援
if (typeof(Storage) !== "undefined") {
    // 儲存
    localStorage.setItem("lastname", "xinjn");
    // 檢索
    document.getElementById("result").innerHTML = localStorage.getItem("lastname");
} else {
    document.getElementById("result").innerHTML = "Sorry, your browser does not support Web Storage...";
}
</script>

244e21578361be76977300f3b12e66ab.png

例項二

HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>xxx</title>

</head>
<body>
  
  <p>
  <button onclick="clickCounter()" type="button">點我!</button>
  </p>
  <div id="result"></div>
    
  <p>點選按鈕檢視數字會自動增加。</p>
  
  <p>關閉瀏覽器,重新開啟這個頁面點選按鈕,可以看到之前的資料是有保留的。</p>
  
</body>
</html>
JS
function clickCounter() {
    if(typeof(Storage) !== "undefined") {
        if (localStorage.clickcount) {
            localStorage.clickcount = Number(localStorage.clickcount)+1;
        } else {
            localStorage.clickcount = 1;
        }
        document.getElementById("result").innerHTML = "你在按鈕上已經點選了 " + localStorage.clickcount + " 次。";
    } else {
        document.getElementById("result").innerHTML = "Sorry, your browser does not support web storage...";
    }
}

b432b5d94597b58384cda047ecafc11a.png

語法

下面的程式碼片段訪問了當前域名下的本地 Storage 物件,並通過 Storage.setItem() 增加了一個數據專案。

window.localStorage

儲存資料語法:

localStorage.setItem("key", "value");
//localStorage.setItem('myCat', 'Tom');

讀取資料語法:

var lastname = localStorage.getItem("key");
//let cat = localStorage.getItem('myCat');

刪除資料語法:

localStorage.removeItem("key");
//localStorage.removeItem('myCat');

該語法用於移除所有的 localStorage 項,如下:

// 移除所有
localStorage.clear();
localstorage 必知必會​juejin.im Window localStorage 屬性​www.runoob.com 0a9ca99ba3e2096923aa2a55fd5d5971.png