localStorage用法小总结
来源:互联网 发布:跳跃网络300英雄 编辑:程序博客网 时间:2024/06/05 02:09
记得前端大神winter说过:要建立起自己的知识体系,第一步:寻找线索(找准确、全面的);第二步,建立联系;第三步,是分类(用思维导图),第四步,是追本溯源(找到最初的那个它~)
今天,怀着崇拜大神的心情,来学习下 localStorage的基本用法。用到的学习机是chrome浏览器,毕竟大厂权威性还是可以的。
我首先在开发者工具的Console
中,输入了
localStorage.
然后就弹出了一些列宿主(浏览器)提供的localStorage自带的方法,摘录了一些常用的API如下表所示:
名称 作用 clear清空localStorage上存储的数据getItem读取数据hasOwnProperty检查localStorage上是否保存了变量x,需要传入xkey读取第i个数据的名字或称为键值(从0开始计数)lengthlocalStorage存储变量的个数propertyIsEnumerable用来检测属性是否属于某个对象的removeItem删除某个具体变量setItem存储数据toLocaleString将(数组)转为本地字符串valueOf获取所有存储的数据清空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"); //undefinedlocalStorage // Storage {length: 0} 可以看到之前保存的name变量已经从localStorage里删除了
检查localStorage里是否保存某个变量
// 这些数据都是测试的,是在我当下环境里的,只是demo哦~localStorage.hasOwnProperty('name') // truelocalStorage.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); //转为JSONconsole.log(newStudents); // 打印出原先对象
说一下这个纠结的东西:简单说是跨js传递json值,通过localStorage中转,有种压缩和解压缩的味道在。其实应该有个公共的变量.js放在最前面,会不会更好呢。我好像是在这样一个场景下用到的:后台传递json格式的经纬度给前台,前台让它在地图上渲染出来,而且是两个不同的js文件传递,然后就使用了这个方法。不过现在想想应该有其它更好的解决方法吧。
作者:潺公子
链接:http://www.jianshu.com/p/39ba41ead42e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
阅读全文
0 0
- localStorage用法小总结
- localStorage用法小总结
- localStorage用法小总结
- localStorage、sessionStorage用法总结
- localStorage、sessionStorage用法总结
- localStorage、sessionStorage用法总结
- localStorage、sessionStorage用法总结
- localStorage、sessionStorage用法总结
- localStorage用法总结
- 【H5】localStorage、sessionStorage用法总结
- HTML5-localStorage、sessionStorage用法总结
- 【H5】localStorage、sessionStorage用法总结
- 前台属性----localStorage、sessionStorage用法总结
- 本地存储localStorage的用法总结
- localStorage和sessionStorage用法总结及其区别
- localStorage总结
- JS的本地保存localStorage、sessionStorage用法总结
- volatile用法小总结
- wx.openLocation调取失败
- leetcode_552.Student Attendance Record II ? 待解决
- Android timer倒计时
- Entity Framework Code First在Oracle下的伪实现
- ipsecVPN搭建
- localStorage用法小总结
- 学习笔记 Oct 24
- Java多个子线程都执行完后,再执行主线程
- Entity Framework在WCF中序列化的问题
- bzoj3770 疯狂的限制
- VS.net中快捷键收缩和展开代码段 + 快捷键一览表
- 加小圆点
- ViewPager+Fragment
- 一个框架解决几乎所有机器学习问题