• 使用sessionStorage、localStorage存储数组与对象


    先介绍一下localStorage

    localStorage对象是HTML5的客户端存储持久化数据的方案。为了能访问到同一个localStorage对象,页面必须来自同一个域名(子域名无效),使用同一种协议,在同一个端口上。

    过期策略:localstorage永久存储,不过期,除非手动删除,sessionstorage在重启浏览器、关闭页面或新开页面时失效。

    localStorage是Storage类型的实例。有以下的几种方法:

    ①clear():删除所有值。

    ②getItem(name):根据指定的名字name获取对应的值

    ③key(index):在指定的数字位置获取该位置的名字。

    ④removeItem(name):删除由name指定的名值对

    ⑤setItem(name,value):为指定名字设置一个对应的值

     

    localStorage对象可以通过点号调用这些方法。

    例:使用方法来存储数据

    localStorage.setItem("name","songyuhua");//这样就用localStorage存储了一个名字为name的数据,数据的内容为 “songyuhua"

     

    使用方法来读取数据

    localStorage.getItem("name");//这样就读取了名字为“name”的数据的值。

     

    有时候,我们需要将数据存储到sessionStorage和localStorage中,这样做的好处有:

    1 缓存数据

    2 减少对内存的占用

     

    但是,storage只能存储字符串的数据,对于JS中常用的数组或对象却不能直接存储。

    var obj = { name:'Jim' };

    sessionStorage.obj = obj;

    localStorage.obj = obj;

     

    var arr = [1,2,3];

    sessionStorage.obj = arr;

    localStorage.obj = arr;

     

    上面的写法都是不能成功的!但我们可以通过JSON对象提供的parse和stringify将其他数据类型转化成字符串,再存储到storage中就可以了。请看下面的代码。

     

    var obj = { name:'Jim' };

    var str = JSON.stringify(obj);

     

    //存入

    sessionStorage.obj = str;

    //读取

    str = sessionStorage.obj;

    //重新转换为对象

    obj = JSON.parse(str);

     

    localStorage也一样,只是和sessionStorage的存储时间不一样。

    需要注意的是,JS中的数组本质上也是对象类型,所以上面的代码对数组也是适用的。

     

    var arra=[1,2,3,4];

    localStorage.setItem('key',JSON.stringify(arra));

    var read=JSON.parse(localStorage.getItem('key'));

    console.log(read,read.length);

     

  • 相关阅读:
    dhcp服务
    lvm逻辑卷扩容报错解决
    xshell连接linux使用vim无法正常使用小键盘
    OracleXETNSListener无法启动或启动停止
    RF常用关键字
    pytest的初始化清除操作
    pytest特点与执行
    flask 简单示例
    python操作redis
    centos7安装redis
  • 原文地址:https://www.cnblogs.com/ranyonsue/p/6402687.html
Copyright © 2020-2023  润新知