JS-本地存储

数据可以储存的两个地方分别是:

                 1.服务器

                  2.本地

                       缺点:1.不会对服务器造成负担,但会占用本地内存。

                                   2.信息不安全,容易造成泄漏。

本地储存有三种分别是:

                           1.cookie

                           2.localStorage  h5新增

                           3. sessionStorage h5新增

以下是这三种储存方法在也不同场景的使用情况;

     版本的兼容性

       cookie(兼容)

      localStorage (IE8以下的版本不兼容)

      sessionStorage (IE8以下的版本不兼容)

   容量

       cookie(4kb)

      localStorage (5m)【不同的浏览器可能会有不同的大小】

      sessionStorage (5m)

 时效性

      cookie(永久保存  只要不手动删,永远保留。)

      localStorage (一次会话结束,浏览器关闭,就会消失。)

      sessionStorage (需要设置有效期,有效期到了会自动消息。不设置默认是session级别。)

同源性

同协议:【列如:“http, https, flie”】

同域名:【列如:ID‘127.0.0.1’     “baidu.com”】

同端口:【80】

       满足同源性的页面,它们会共用同一个:  localStorage,     sessionStorage,       cookie 

 

localStoragewindow对象下面的一个属性,本身也是一个对象。

本地存储数据只能存字符串 。如果存储的不是一个字符串,它会先自动转为字符串。如果是对象,会变成[object Object]。

    取数据

   删除数据

   清空数据

例子!!

console.log(window.localStorage);
    if (window.localStorage) {
      // 写localStorage的相关代码
    } else {
      alert("该浏览器不支持localStorage!")
    }



   //输出结果
    Storage {length: 0}
    length: 0__proto__: Storage

  键值对 一个键对应一个值。 

          存数据的三个写法:

例子!!!

 //案例!

localStorage["name"] = "张三";
    localStorage.age = 18;
    localStorage.setItem("sex","女");
    localStorage.father = {name:"王五"}


//用取数据的方法拿到的结果。
    console.log(localStorage.father);
    console.log(localStorage["name"]);
    console.log(localStorage.getItem("sex"));

    输出结果!!!
[object Object]
06localStorage.html:36 张三
06localStorage.html:37 女



// 修改数据:存数据一样的写法,如果存入的键已经存在了,就是修改它的值。

    localStorage.setItem("age",28);
    console.log(localStorage.getItem("age"));   //结果为:28

// 删除数据
localStorage.removeItem("father");

 // 清空数据  (慎用)

 localStorage.clear();

   sessionStorage 也是window对象下面的一个子对象。

例子!!

<script>
    if (window.sessionStorage) {
      // 存
      sessionStorage.setItem("name","法外狂徒");
      sessionStorage["age"] = 20;
    } else {
      alert("该浏览器不支持sessionStorage!")
    }
  </script>

     输出结果!!!

       cookie  存储本地数据

   键值对的形式【cookie只能在域名环境下才可以使用】

   获取:document.cookie

           

存数据:

      document.cookie = "键=值"

      【注意】一次只能存一条

    取数据:

      document.cookie

      【注意】获取cookie中所有的内容,多条记录之间用;分隔。

改数据:

      和存数据一样的写法,如果之前没有这个键,就是存,有就是修改。

    

    删数据:

      没有删除的删除,只能设置过期时间。

      如果要删除一条数据,只需要将它的过期时间设置为现在之前就可以了。

 

    有效期设置:

      document.cookie = "键=值;expires="+日期;

  

      服务器默认时间:格林威治时间。 咱们是东8区。  现在是下午3点21分。 对应的格林威治:7点21分。

    案例!!!

 <script>
    document.cookie = "name='张三'";
    document.cookie = "age=18";
    console.log(document.cookie);
    document.cookie = "sex='男';expires="+new Date("2021-05-19 07:24:00");
  </script>

    页面输出结果!!

 

本地存储的结果!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值