一、概念

浏览器存储:cookie,localStorage,sessionStorage

  • Cookie :Cookie 是小甜饼的意思。顾名思义,cookie 确实非常小,它的大小限
    制为 4KB 左右。它的主要用途有保存登录信息,比如你登录某个网站市
    场可以看到“记住密码”,这通常就是通过在 Cookie 中存入一段辨别用
    户身份的数据来实现的。
  • localStorage 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
  • sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

二、比较

cookielocalStoragesessionStorage
生命周期一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效除非被清除,否则永久保存仅在当前会话下有效,关闭页面或浏览器后被清除
大小4K左右一般为5MB一般为5MB
与服务器端通信每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题仅在客户端(即浏览器)中保存,不参与和服务器的通信仅在客户端(即浏览器)中保存,不参与和服务器的通信
使用方法自行封装源生可用源生可用

三、使用

        cookie封装

//设置cookie
    function setCookie(json, time) {
      var data = new Date(new Date().getTime() + time * 24 * 60 * 60 * 1000).toUTCString()
      for (key in json) {
        document.cookie = key + "=" + json[key] + ";expires=" + data
      }

    }
    //获取cookie
    function getCookie(attr) {
      return document.cookie.match(new RegExp("(^|\\s)" + attr + "=([^;]+)(;|$)"))[2]
    }

    
    //删除cookie
    function removeCookie(attr) {
      var json = {};
      json[attr] = "";
      setCookie(json, -1);
    }

        详细JavaScript Cookie | 菜鸟教程

        localStorage,sessionStorage

        详细JavaScript 存储对象 | 菜鸟教程

 

更多推荐