本地存储(localStorage)

本文介绍了浏览器的本地存储机制localStorage,包括其概念、存储位置、特点和操作方法。localStorage提供永久存储,存储数据限制为5MB,且数据类型为字符串。通过键值对进行存储,JSON用于对象和数组的序列化和反序列化。JSON是一种轻量级的数据格式,适用于前端数据交换,具有特定的语法规范。文章还提到了JSON.parse()和JSON.stringify()两个关键方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

浏览器的本地存储(localStorage)

1.概念:window对象下面的属性,html5新增的,将5M大小的数据存储本地的浏览器上面。

2.存储的位置:浏览器控制面板–application–左侧面板local Storage

3.本地存储localStorage特点:
①本地存储属于永久存储,除非手动删除。
②html5新增的,高版本的浏览器支持。
③目前所有的浏览器都会把localStorage数据类型设定字符串string.
④不同的浏览器本地存储的数据是不能相互进行访问。

4.localStorage的存取删

  • 存储:存储方式( 键值对 - key=value)
window.localStorage.name = 'liang';
window.localStorage['age'] = 100;
window.localStorage.setItem('sex', '女'); //最优的
window.localStorage['num'] = 666;

在这里插入图片描述

  • 存储变量:键值相同,会覆盖(属性名相同,覆盖)
let num = 300;
let str = 'score';
localStorage.setItem('score', 100);
localStorage.setItem(str, num);
localStorage.setItem('name', 'wangwu');

在这里插入图片描述

  • 存储数组和对象
let arr = ['apple', 'banana', 'orange'];
localStorage.setItem('data', arr);
let obj = {
      	  a: 1,
          b: 2,
          c: 3
    }
localStorage.setItem('objdata', obj);//[object Object]
alert(obj);//所有对象的值都是一样的  [object Object]
console.log(obj);//输出对象的结构。
localStorage.setItem('objstring', JSON.stringify(obj));

在这里插入图片描述

  • JSON:是一种数据格式,也可以叫做对象;前后端交互最好理想的数据格式。
    前端核心工作(渲染,用户体验,性能优化)
    渲染–数据(JSON格式的接口数据)
    JSON的特点:
    1.是一种轻量级的数据格式,不是js独有的。 独立文件。
    2.组成:简单值+数组+对象。
    3.里面的字符串一定要添加双引号。
    4.没有var,let,注释,分号等相关的js语法,代表数据。
    JSON下面的两个静态方法:
    1.JSON.parse():JSON格式的字符串转换成对象。具有json格式检测功能。
		let str = '{"a":1,"b":2,"c":3}';
		console.log(str);
		console.log(JSON.parse(str));

在这里插入图片描述
2.JSON.stringify():将对象转换成json格式的字符串。

	   var obj1 = { a: 1, b: 2, c: 3 }
	   console.log(JSON.stringify(obj1));//{"a":1,"b":2,"c":3}

在这里插入图片描述

  • 取值
console.log(localStorage.name);//wangwu
console.log(localStorage['age']);//100
console.log(localStorage.getItem('data'));//apple,banana,orange
console.log(localStorage.getItem('objstring'));//{"a":1,"b":2,"c":3}
        // 如何获取数组和对象的值
console.log(localStorage.getItem('data'));//apple,banana,orange
        // 存储的是数组,取出来的是字符串
        // 存储的是对象,取出来的是字符串
        // 如何解决上面的问题。
console.log(localStorage.getItem('data').split(','));//["apple", "banana", "orange"]
console.log(localStorage.getItem('objstring'));//{"a":1,"b":2,"c":3}
console.log(JSON.parse(localStorage.getItem('objstring')));
console.log(JSON.parse(localStorage.getItem('name')));//null 访问的数据不存在

在这里插入图片描述

  • 删除
    ①localStorage.removeItem
localStorage.removeItem('name');
localStorage.removeItem('age');
②手动通过本地控制面板删除

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值