zoukankan      html  css  js  c++  java
  • localStorage和sessionStorage

    H5新特性之一:本地存储lacalStorage

    优点:

      1.解决了cookie本地存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage一般浏览器支持的是5m,视浏览器而定

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

    缺点:

      1.不同浏览器大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性

      2.所有的浏览器中都会把localStorage的值类型限定为string类型,对JSON对象类型需要一些转换

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

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

      5.localStorage不能被爬虫抓取到

    区别:localStorage属于永久性存储;sessionStorage当会话结束的时候,其中的键值对会被清空

    用法:

      1.清空:

    localStorage.clear() // undefined 
    localStorage //Storage {length: 0}
    

      2.存储:

    localStorage.setItem("name","caibin") //存储名字为name值为caibin的变量
    localStorage.name = "caibin"; // 等价于上面的命令 
    localStorage // Storage{name: "caibin", length: 1} 读取数据
    

      3.读取:

    localStorage.getItem("name") //caibin,读取保存在localStorage对象里名为name的变量的值
    localStorage.name // "caibin"
    localStorage.valueOf() //读取存储在localStorage上的所有数据
    localStorage.key(0) // 读取第一条数据的变量名(键值)
    //遍历并输出localStorage里存储的名字和值
    for(var i=0; i<localStorage.length;i++){
      console.log('localStorage里存储的第'+i+'条数据的名字为:'+localStorage.key(i)+',值为:'+localStorage.getItem(localStorage.key(i)));
    }
    

      4.删除某个变量:

    localStorage.removeItem("name"); //undefined
    localStorage // Storage {length: 0} 之前保存的name变量从localStorage里删除了
    

      5.检查localStorage里是否保存某个变量:

    localStorage.hasOwnProperty('name') // true
    localStorage.hasOwnProperty('sex') // false
    

      6.将数组转为本地字符串:

    var arr = ['aa','bb','cc']; // ["aa","bb","cc"]
    localStorage.arr = arr //["aa","bb","cc"]
    localStorage.arr.toLocaleString(); // "aa,bb,cc"
    

      7.将JSON存储到localStorage里:

    var students = {
      xiaomin: {
        name: "xiaoming",
        grade: 1
      },
      teemo: {
        name: "teemo",
        grade: 3
      }
    }
     
    students = JSON.stringify(students); //将JSON转为字符串存到变量里
    console.log(students);
    localStorage.setItem("students",students);//将变量存到localStorage里
     
    var newStudents = localStorage.getItem("students");
    newStudents = JSON.parse(students); //转为JSON
    console.log(newStudents); // 打印出原先对象
  • 相关阅读:
    买不到的数目
    逆波兰表达式
    颠倒的价牌
    排它平方数
    寒假作业
    搭积木
    网友年龄
    九宫重排
    格子刷油漆
    高僧斗法
  • 原文地址:https://www.cnblogs.com/wccc/p/9889776.html
Copyright © 2011-2022 走看看