html5中的Web Storage(sessionStorage、localStorage)

来源:互联网 发布:淘宝开店一定要交保证金吗 编辑:程序博客网 时间:2024/05/18 05:39

sessionStorage和localStorage做为HTML5新特性,被广泛应用于客户端缓存技术。不过这个有个误区,两者虽然对存储的内容大小没有限制,但是存入的东西都被转换成了字符串,也就是说无法存入数组或者对象,就算存入了也会被转化为字符串。不过实际开发过程中 缓存的数据一般都是 数组或者json对象,那么应该怎么处理呢?(往下看…..)

存数组

    //先举个例子(以sessionStorage为例)    var aa=[1,2,3];    var sStorage=window.sessionStorage;    sStorage.aa=aa;    console.log(sStorage.aa); //输出1,2,3    /*下面我写个函数*/    function stringToArray(arr){        return arr.split(','); /*好吧,这个比较喽 @_@ */    }    /*稍微优化一下*/    function stringToArray(arr){        var tempArr=arr.split(',');        var returnArr=new Array();        var i,len=tempArr.length;        for(i=0;i<len;i++){            if(typeOf(tempArr[0]*1)==='number'){                returnArr.push(tempArray[i]*1);            }else{                returnArr.push(tempArray[i]);            }        }        return returnArr;    }    /*其实还有很多复杂的情况,我这里就不一一写了,实际开发中要注意变量类型*/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

存json对象

    /*思路很简单:JSON对象提供的parse和stringify将其他数据类型转化成字符串,再存储到storage中就可以了*/    var obj = { Hellow:'world' };     var str = JSON.stringify(obj);     //存入     sessionStorage.obj = str;     //读取     str = sessionStorage.obj;     //重新转换为对象     obj = JSON.parse(str);
阅读全文
1 0