localStroge 存储布尔值的问题

本文介绍了在使用LocalStorage存储布尔值时遇到的问题及解决方案。通过存储0和1而非直接的布尔值,可以避免类型转换带来的不便,同时提供了一个简单实用的方法来处理这类数据。

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

localStroge 存储布尔值在使用的u欧城中遇到了很多问题,后来才发现,存进去的布尔值,取出来全变成了字符串。。。。。。。
自然在使用的时候出现了一堆bug
事实上,不止是布尔值,其他类型的值也全变成字符串类型
localStroge注意事项
在项目中,我们就是要使用布尔值怎么办,我们要将得到的数据进行处理。
两种情况,通常布尔值我们会存储true和false,这样我们得到的就是“true”和“false”。我们判断一下执行操作

      if (this.$store.state.data_switch === 'true') {
        this.data_switch = true
      } else {
        this.data_switch = false
      }

事实上这样是相当不方便的,每个值都要判断一下,很麻烦,页面代码也很冗余。“true”和“false”字符串转换成布尔值网上有很多例子,但是都比较麻烦,因为“false”本身就是true的
那怎么办呢?
JS中有六种情况是false
分别是: 0, ”, null, undefined, NaN 和 false, 其他(包括{}, [], Infinity)为true
我想到数字0的布尔值是false,所以利用0和1来存储,这样操作取出的数据也比较的方便
我们存进去数字0和1,取出来的时候是‘0’和‘1’
,把它们转换成数值型, Number() 强制类型转换,是可以的

      this.home = Number(this.$store.state.home)
      this.inventory = Number(this.$store.state.inventory)

这样我们就得到了数值了可以使用判断布尔值的条件去对数据操作了。

封装一个localStroge 的JS函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值