本地存储(sessionStrorage,localStorage)

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>
原文地址:https://www.cnblogs.com/qtbb/p/11832467.html