zoukankan      html  css  js  c++  java
  • 本地存储(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>
  • 相关阅读:
    css实现自适应正方形
    遇到稍微复杂的场景发现css功力不足
    聊聊缓存
    git学习笔记
    font-size:0的作用
    移动端高清屏适配方案
    react生命周期
    javascript写定时器
    js判断字符串是否以某个字符串开头和js分解字符串
    json.parse()和json.stringify()
  • 原文地址:https://www.cnblogs.com/qtbb/p/11832467.html
Copyright © 2011-2022 走看看