zoukankan      html  css  js  c++  java
  • localstorage 和 sessionstorage 本地存储

       在我们日常的工作和实际项目中,做好数据数据缓存可以是我们的程序执行效率更高,可以使我们避免重复请求 服务器,减轻服务器的压力,可以提高使用户的体验度.

    那么 HTML5 存储的目标是什么?

     1.解决存储 大小的问题

     2.解决请求头带存储信息 的问题

     3.解决关系存储的问题

     4.跨浏览器

    在HTML5没有出来之前,我们的存储一直大多都是使用cookies 存储  但是cookies 有明显的缺陷.

     cookies的缺陷:

     1.http请求头上回带着 会存在安全上的问题
     2.只能储存4k大小的
     3.主DOM污染

    但是在HTML5 之后,出现了解决缓存问题的API.

     一.localstorage 和 sessionstorage 本地存储

      这种大家都比较熟悉 存储形式: key->value

      sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数      据也随之销毁 ,因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。

        localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

     浏览器的支持除了IE7及以下不支持外,其他标准浏览器都完全支持

        判断浏览器是否支持localstorage

          if (window.localStorage) {
          alert("浏览器支持localStorage");
         }else {
          alert("浏览器不支持localStorage");
         }

      过期时间: 永久存储,永不失效,除非手动删除
      大小:每个域名 5M
      可以存:数组 json 图片 脚本 样式文件
    注意事项
      <1.使用前要判断浏览器是否支持
      <2.写数据时,需要异常处理,避免超出容量抛错
      <3.避免把敏感的信息存入localstorage
      <4.key 的唯一性
     有四种方法 setItem,getItem,removeItem,clear

      //setItem存储value  用法:.setItem( key, value)

      localStorage.setItem('key','value');

      localStorage.setItem('age','20'); // 存储年龄 为20

      //getItem获取value   用法:.getItem(key)

      var  a =  localStorage.getItem('age');

      // removeItem()  删除key值

      localStorage.setItem('name','coco');

      var c= localStorage.removeItem('name');

      console.log(c); // 打印出来是  undefined

      // clear() 清楚所有的key/value

      localStorage.clear();

      也可以这样写,这两种 方式的结果是一样的

                 localStorage.name = 'coco';
                 localStorage['name'] = 'koko';

       // localStorage的key和length属性实现遍历 
      var storage = window.localStorage;
      for (var i = 0; i < storage.length; i++) {
      var key = storage.key[i];
      var value = storage.getItem(key);
      console.log(key+'='+value);
      }

  • 相关阅读:
    七月二十二日学习报告
    七月二十一学习报告
    七月二十学习报告
    补 七月十九学习报告
    七月十八学习报告
    iOS 逆向工程(三)之Xcode检测是否越狱成功
    iOS 逆向工程(二)之越狱手机安装必备软件
    iOS逆向工程(一)之手机越狱
    html练习 简单html页面
    集合对象序列化 反序列 IO 1将文件中的所有信息,通过合适的IO流读取出来,封装成Person对象,使用集合进行存储 2将集合对象序列化到另外一个文件persons.txt中 3从persons.txt反序列化其中的集合,并遍历集合内容
  • 原文地址:https://www.cnblogs.com/Sabo-dudu/p/6026593.html
Copyright © 2011-2022 走看看