美文网首页让前端飞
localStorage和sessionStorage——本地存

localStorage和sessionStorage——本地存

作者: 椰果粒 | 来源:发表于2018-07-06 18:07 被阅读35次

一:localStorage是什么

localStorage是h5新增的,作用是本地存储

二:localStorage与cookie相比的优势

localStorage可以将第一次请求的数据直接存储到本地(相当于一个5兆的数据库),比cookie可以节约带宽

三:localStorage的局限

  • IE8以上才支持localStorage
  • 所有浏览器的localStorage的值都是string类型,对于json类型要转换
  • localStorage在浏览器的隐私模式下不可读
  • 本质上是对字符串的操作,如果存储内容过多的话会消耗空间,导致页面变卡
  • localStorage不能被爬虫抓取到

四:localStorage与sessionStorage的区别

唯一区别是存储的时间:

  • localStorage永久存储在本地,除非手动删除,否则永远存在
  • sessionStorage在浏览器关闭之后就删除了

五:注意事项

1、localStorage只支持string类型,保存的都是string类型,要进行类型转化
2、localStorage遵循同源策略,不同的网站不能直接共享localStorage
3、操作数据时推荐用getItem(),setItem(),deleteItem()

六:具体实现

1. 检验浏览器是否支持localStorage

if(!window.localStorage){
    alert("浏览器不支持localStorage");
}else{其他操作}

2. 写数据

if(!window.localStorage){
    alert("浏览器不支持localStorage");
}else{
    let lstorage = window.localStorage;
    // 三种方式写入localStorage
    lstorage['name'] = "小明";
    lstorage.age = 12;
    lstorage.setItem("job","student");

    console.log(typeof lstorage['name'])    // string
    console.log(typeof lstorage['age'])     // string
    console.log(typeof lstorage['job'])     // string
    // 关于打印出string类型:因为localStorage只支持string类型

3. 读取数据

if(!window.localStorage){
    alert("浏览器不支持localStorage");
}else{
    let lstorage = window.localStorage;
    // 读取数据
    console.log(lstorage.name)  // 小明
    console.log(lstorage["age"])    // 12
    console.log(lstorage.getItem("job")) // student
}

4. 修改数据

if(!window.localStorage){
    alert("浏览器不支持localStorage");
}else{
    let lstorage = window.localStorage;
    // 修改
    lstorage.setItem("name","小兰")
    console.log(lstorage.getItem("name"))   // 小兰
}

5. 删除数据

    // 删除
    // 全部删除
    lstorage.clear()
    console.log(lstorage.getItem("name"))   // null
    console.log(lstorage.getItem("age"))    // null
    console.log(lstorage.getItem("job"))    // null
    // 删除某个键值对(假设上边的全部删除不存在)
    lstorage.removeItem("name")
    console.log(lstorage.getItem("name"))   // null
    console.log(lstorage.getItem("age"))    // 12
    console.log(lstorage.getItem("job"))    // 小兰

6. 获取key值——使用key方法获取

    for(let i=0;i<lstorage.length;i++){
        console.log(lstorage.key(i))
    }

七:具体实现

1. 输入框的值的保存与获取

<body>
<input type="text" id="username">
<input type="password" id="password">
<button id="saveDate" onclick="saveData()">保存数据</button>
<button id="getData" onclick="getData()">获取数据</button>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
if(!window.localStorage){
    alert("浏览器不支持localStorage")
}else{
    function saveData(){
        let lstorage = window.localStorage;
        let username = $("#username").val();
        let password = $("#password").val();
        lstorage.setItem("username",username);
        lstorage.setItem("password",password);
        alert("保存成功!")
    }
    function getData(){
        let lstorage = window.localStorage;
        alert(lstorage.getItem("username"));
        alert(lstorage.getItem("password"))
    }
}
</script>
</body>

相关文章

  • localStorage和sessionStorage——本地存

    一:localStorage是什么 localStorage是h5新增的,作用是本地存储 二:localStora...

  • Charry

    一、本地存储: 本地存储分为cookie,以及新增的localStorage和sessionStorage 区别:...

  • 本地存储、表单验证、let|const|var区别、进程|线程|

    一、本地存储: 本地存储分为cookie,以及新增的localStorage和sessionStorage 区别:...

  • 3月 前端 19 Day

    本地存储本地存储分为cookie,以及H5新增的 localStorage 和 sessionStorage ;...

  • 19_day本地储存,正则

    本地存储: 本地存储分为cookie,以及H5新增的 localStorage 和 sessionStorage ...

  • 本地储存

    本地存储: 本地存储分为cookie,以及H5新增的 localStorage 和 sessionStorage ...

  • 本地存储

    本地存储 本地存储分为cookie,以及H5新增的 localStorage 和 sessionStorage ;...

  • 2018-08-28

    本地存储本地存储分为cookie,以及H5新增的 localStorage 和 sessionStorage ;...

  • 本地存储

    本地存储本地存储分为cookie,以及新增的localStorage和sessionStorage 1、cooki...

  • 本地存储

    本地存储 本地存储分为cookie,以及H5新增的 localStorage 和 sessionStorage ;...

网友评论

    本文标题:localStorage和sessionStorage——本地存

    本文链接:https://www.haomeiwen.com/subject/guubuftx.html