js 存贮-storage

Posted zhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 存贮-storage相关的知识,希望对你有一定的参考价值。

概述

html5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小。

localStorage的优势

1、localStorage拓展了cookie的4K限制

2、localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库,相比于cookie可以节约带宽。

localStorage的局限

1、目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换

2、localStorage在浏览器的隐私模式下面是不可读取的

3、localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡

4、localStorage不能被爬虫抓取到

localStorage与sessionStorage的唯一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空。

 

API

/**
 * js 存贮
 *     http://www.cnblogs.com/st-leslie/p/5617130.html
 *     http://www.cnblogs.com/yuzhongwusan/archive/2011/12/19/2293347.html
 */
function testLocalStorage(){
    debugger;
    localStorage.setItem("AAA","aaa");
    localStorage.setItem("BBB","bbb");
    var res = localStorage.getItem("AAA");
    res = localStorage["BBB"];
    res = localStorage.AAA;
    localStorage.removeItem("AAA");
    res = localStorage.getItem("AAA");
    localStorage.clear();
    res = localStorage.getItem("BBB");
}
function testSessionStorage(){
    debugger;
    sessionStorage.setItem("AAA","aaa");
    sessionStorage.setItem("BBB","bbb");
    var res = sessionStorage.getItem("AAA");
    res = sessionStorage["BBB"];
    res = sessionStorage.AAA;
    sessionStorage.removeItem("AAA");
    res = sessionStorage.getItem("AAA");
    sessionStorage.clear();
    res = sessionStorage.getItem("BBB");
}

参考:

     HTMl5的sessionStorage和localStorage

     localStorage使用总结

以上是关于js 存贮-storage的主要内容,如果未能解决你的问题,请参考以下文章

JS检查是否支持Storage

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

web-storage-cache 使用JS数据缓存

js代码片段: utils/lcoalStorage/cookie