1、本地存儲特性
1. 數據存儲在用戶瀏覽器中
2. 設置,讀取方便,設置頁面刷新不丟失數據
3. 容量較大,sessionStorage約5M,localStorage約20M
4. 只能存儲字符串,可以將對象JSON.stringify() 編碼后存儲
2、window.sessionStorage
1.生命周期為關閉瀏覽器窗口
2.在同一個窗口(頁面)下數據可以共享
3.以鍵值對的形式存儲使用
存儲數據:
sessionStorage.setItem(key,value);
例:sessionStorage.setItem('uname','andy');
獲取數據:
sessionStorage.getItem(key);
例:sessionStorage.getItem('uname');
刪除數據:
sessionStorage.removeItem(key);
例:sessionStorage.removeItem('uname');
刪除所有數據:
sessionStorage.clear(); //盡量避免使用
3、window.localStorage
1. 生命周期永久生效,除非手動刪除,否則關閉頁面也會存在
2. 可以多窗口(頁面)共享(同一瀏覽器可以共享)
3. 以鍵值對的形式存儲使用
存儲數據:
localStorage.setItem(key,value);
例:localStorage.setItem('uname','andy');
獲取數據:
localStorage.getItem(key);
例:localStorage.getItem('uname');
刪除數據:
localStorage.removeItem(key);
例:localStorage.removeItem('uname');
刪除所有數據:
localStorage.clear(); //盡量避免使用
記住用戶名案例:
<!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> <style> input { vertical-align: middle; } </style> </head> <body> <input type="text" id="txt" /> <input type="checkbox" id="check" /> <label for="check">記住用戶名</label> <script> var txt = document.querySelector("#txt"); var check = document.querySelector("#check"); var label = document.querySelector("label"); txt.onblur = function() { var text = txt.value; // console.log(text); localStorage.setItem("uname", text); }; (function() { var user = localStorage.getItem("uname"); if (user) { txt.value = user; check.checked = true; } else { txt.value = null; } })(); </script> </body> </html>