欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

localStroge存储布尔值的问题解析

程序员文章站 2022-05-02 11:33:24
localstroge 存储布尔值的问题 localstroge 存储布尔值在使用的u欧城中遇到了很多问题,后来才发现,存进去的布尔值,取出来全变成了字符串。。。。。。。 自然在使用的时候出现了一堆...

localstroge 存储布尔值的问题

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函数