关于前端:浏览器存储的方式有哪些

8次阅读

共计 738 个字符,预计需要花费 2 分钟才能阅读完成。

个性 cookie localStorage sessionStorage indexedDB
数据生命周期 个别由服务器生成,能够设置过期工夫 除非清理,否则始终存在 页面敞开就清理 除非被清理,否则始终存在
数据存储大小 4k 5M 5M 有限
与服务器通信 每次都携带在 header 中对申请性能有影响 不参加 不参加 不参加

补充:

cookie 原来并不是用来贮存的,而是用来与服务端通信的,须要存取时要自行封装 api

// 存储 cookie 不设置工夫为永恒存储 cookie
function setCookie(cname, cvalue,exdays) {var d = new Date();
    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
    var expires = "expires=" + d.toUTCString();
    document.cookie = cname + "=" + cvalue + ";";
}
// 获取 cookie
function getCookie (cname) {var arr, reg = new RegExp("(^|)" + cname + "=([^;]*)(;|$)");
  if (arr = document.cookie.match(reg))
    return (arr[2]);
  else
    return null;
}

localStorage

  • 自带 getItem 和 setItem 办法。
  • 只能存字符串,若须要存取 JSON 格局时,须要配合 JSON.stringify() [ 该办法用于将 JavaScript 值转换为 JSON 字符串将] 和 JSON.parse()[ 该办法用于将数据转换为 JavaScript 对象,罕用于转化成 json]。
  • 另外有些浏览器禁用 setItem, 此时须要应用 try…catch 捕捉异样进行解决
正文完
 0