javascript中localStorage本地存储(新增、删除、修改)使用详细教程

 更新时间:2023年05月03日 09:32:48   作者:街尾杂货店&  
本地存储localstorage是一种在浏览器中存储数据的方式,可以将数据保存在用户的本地计算机上,以便在下一次访问网站时使用,下面这篇文章主要给大家介绍了关于javascript中localStorage本地存储(新增、删除、修改)使用详细教程,需要的朋友可以参考下

介绍

现在前端做数据存储,跨页面传值,localStorage是一个很好的方式,以键值对的方式存储,也方便取值赋值,下面说一说使用方法和一些常见的使用技巧。

存值共有3种方式,localStorage相当于window对象下面的一个属性,所以有[]和.调用,但也具有自身的setItem方法

// 自身方法
localStorage.setItem("name","bonly");
// []方法
localStorage["name"]="bonly";
// .方法
localStorage.name="bonly";

取值也是如此,自身的方法是getItem

// 自身方法
localStorage.getItem("name");
// []方法
localStorage["name"];
// .方法
localStorage.name;

改变的方式,就是相当于给对应的key重新赋值,就会把原来的值覆盖掉

// 自身方法
localStorage.setItem("name","TOM");
// []方法
localStorage["name"]="TOM";
// .方法
localStorage.name="TOM";

移除某一个值,可以通过对象删除属性的关键字delete也可以用自身的方法removeItem

// 自身方法
localStorage.removeItem("name");
// []方法
delete localStorage["name"];
// .方法
delete localStorage.name

获取所有的key

// 通过自身的key
for (var i=0;i<localStorage.length;i++) {
	console.log(localStorage.key(i));
}
// 通过for in 循环获取
for(var key in localStorage){
	console.log(key);
}

获取所有的值

localStorage.valueOf();//取出所有的值

清除所有的值

localStorage.clear()

判断是否具有某个key,hasOwnProperty方法

localStorage.hasOwnProperty("name")
// 如果存在的话返回true,不存在返回false

使用技巧

  • localStorage特定于页面的协议,不是同一域名,不能访问。
  • 有长度限制,5M左右,不同浏览器大小会有不同。
  • 生命周期是永久的,但是数据实际是存在浏览器的文件夹下,可能卸载浏览器就会删除。
  • 浏览器可以设置是否可以访问数据,如果设置不允许会访问失败。
  • 兼容IE8以上浏览器
  • 只能存储字符串类型,需要转成字符串存储。

需要注意的是:

1、浏览器限制localStorage的值类型为string类型,如果存储的数据不是string类型,localStorage会自动对数据进行类型转换;

2、存储的Json对象数据时,需要使用JSON.stringify()方法将数据转换成Json字符串,读取时,使用JSON.parse()将Json字符串还原回去;

例如:

需要往localStorage中存储一个对象person:

let person = {
    name: 'Ryan Xu',
    age: 18;
}

如果不使用JSON.stringify()处理:

window.localStorage.setItem('person1', person);
console.log(window.localStorage);

对于对象类型数据,如果不进行处理直接存入localStorage中时,localStorage会自动进行数据类型转换,对象就会被转换成[object Object],不是我们想要的结果;

如果使用JSON.stringify()处理:

window.localStorage.setItem('person1', JSON.stringify(person));
console.log(window.localStorage);

从上面可以发现,对于对象类型数据,储存到localStorage中时应使用JSON.stringify()方法将数据转换成Json字符串再储存,同样的,读取时应将读取结果使用JSON.parse()还原回去。

总结

到此这篇关于javascript中localStorage本地存储(新增、删除、修改)使用的文章就介绍到这了,更多相关js localStorage本地存储内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Makefile/cmake/node-gyp中区分判断不同平台的方法

    Makefile/cmake/node-gyp中区分判断不同平台的方法

    今天小编就为大家分享一篇关于Makefile/cmake/node-gyp中区分判断不同平台的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • JavaScript模拟文件拖选框样式v1.0的实例

    JavaScript模拟文件拖选框样式v1.0的实例

    下面小编就为大家带来一篇JavaScript模拟文件拖选框样式v1.0的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • javascript 从if else 到 switch case 再到抽象

    javascript 从if else 到 switch case 再到抽象

    大家觉得在接手遗留代码时,见到什么东东是最让人感到不耐烦的?复杂无比的 UML ?我觉得不是。
    2010-07-07
  • JS小功能(列表页面隔行变色)简单实现

    JS小功能(列表页面隔行变色)简单实现

    这篇文章主要介绍了JS列表页面隔行变色简单实现,有需要的朋友可以参考一下
    2013-11-11
  • js判断浏览器是否支持html5

    js判断浏览器是否支持html5

    这篇文章主要介绍了如何使用js判断浏览器是否支持html5,需要的朋友可以参考下
    2014-08-08
  • JS学习笔记之贪吃蛇小游戏demo实例详解

    JS学习笔记之贪吃蛇小游戏demo实例详解

    这篇文章主要介绍了JS学习笔记之贪吃蛇小游戏demo,结合实例形式详细分析了javascript实现贪吃蛇小游戏的原理、步骤与相关实现技巧,需要的朋友可以参考下
    2019-05-05
  • 使用纯javascript实现经典扫雷游戏

    使用纯javascript实现经典扫雷游戏

    本文给大家分享的是个人刚开始学习javascript的时候写的仿windows经典的扫雷游戏的代码,当时只是写了下来,没加注释,这里补上,有需要的小伙伴可以参考下。
    2015-04-04
  • JS简单实现无缝滚动效果实例

    JS简单实现无缝滚动效果实例

    这篇文章主要介绍了JS简单实现无缝滚动效果,结合完整实例形式分析了javascript实现图片无缝滚动效果的实现技巧,涉及javascript结合时间函数定时触发动态修改页面元素属性的相关操作方法,需要的朋友可以参考下
    2016-08-08
  • JS获取Table中td值的方法

    JS获取Table中td值的方法

    这篇文章主要介绍了JS获取Table中td值的方法,实例分析了javascript操作table中td的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • 深入理解JavaScript系列(27):设计模式之建造者模式详解

    深入理解JavaScript系列(27):设计模式之建造者模式详解

    这篇文章主要介绍了深入理解JavaScript系列(27):设计模式之建造者模式详解,建造者模式可以将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示,需要的朋友可以参考下
    2015-03-03

最新评论