zoukankan      html  css  js  c++  java
  • 本地存储localStorage用法详解

    一、什么是localStorage?

    在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。

    二、localStorage的优势与局限

    localStorage的优势

    1、localStorage拓展了cookie的4K限制

    2、localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库,相比于cookie可以节约带宽,但是这个却是只有在高版本的浏览器中才支持的

    localStorage的局限

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

    2、目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换

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

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

    5、localStorage不能被爬虫抓取到

    localStorage与sessionStorage的唯一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空。

    三、localStorage的使用

    清空localStorage

    localStorage.clear()  // undefined   
    localStorage      //Storage {length: 0} 存储数据
    

    存储数据

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

    读取数据

    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)));
    }
    

    删除某个变量

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

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

     
    // 这些数据都是测试的,是在我当下环境里的,只是demo哦~
    localStorage.hasOwnProperty('name') // true
    localStorage.hasOwnProperty('sex') // false
     
    

    将数组转为本地字符串

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

    将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); // 打印出原先对象
    

      

     

  • 相关阅读:
    与生命晒跑
    关于你有一条未读短信的静态单页
    【微收藏】来自Twitter的自动文字补齐jQuery插件
    chrome 插件个人使用推介
    vscode中检测代码中的空白行并去除的方法
    FTP文件乱码导致的无法删除
    git操作遇到的几个问题
    一个srand、rand结果相同的问题
    【verilog】单周期MIPS CPU设计
    【verilog】多周期MIPS CPU设计
  • 原文地址:https://www.cnblogs.com/ourLifes/p/localStorage.html
Copyright © 2011-2022 走看看