true=='true'这个等式成立吗?

简介: true=='true'这个等式成立吗?

在localStorage存入里面的数据是字符串,如果你存入了一个值是Boolean类型的,


那你你取出来就是一个字符串 'true' 或者 'false'


假设取出来的值是 'true'


在你进行if(){}判断的时候,


成立的条件是 xxx== 'true'


如果你这样写 xxx == true 是不成立的,是不会执行里面的语句的


有人说:


因为localStorage存入的是字符串,那么你取出来的时候,也是字符串;


所以成立的条件是  xxx== 'true'


那么:我想问的是


true=='true' 这个等式成立吗;


知悉想一想;可以先不着急回答这个问题;


<script>
    let flag = true;
    localStorage.setItem('keyname', flag)
    let local_cont = localStorage.getItem("keyname");
    console.log(typeof local_cont); //输出string; 返回来的类型是字符串'true'
    // 这样才是正确的(能够进入if里面的鱼护)
    if (local_cont == 'true') {
        console.log('成立的1 ')
    }
    // 这样是不会执行的
    if (local_cont == true) {
        console.log('不成立的2')
    }
    // 这样也是不会执行的
    if (local_cont === true) {
        console.log('不成立的了3')
    }
    // 不成的(布尔类型的true 不等于 字符串‘true’)
    if (true == 'true') {
        console.log('不成立哈 ')
    }
</script>


所以在我们将布尔值 存入localStorage的时候;


我么需要需要注意的是


成立的条件是 xxx=='true' 或者是 xxx='false'


千万不可以写成   xxx==true 或者是 xxx=false  因为这个等式不不成立的


相关文章
|
4月前
|
Python
使用 if...elif...else 语句判断数字是
使用 if...elif...else 语句判断数字是
|
Python
a is b 为 True,a == b 一定为 True 吗?
a is b 为 True,a == b 一定为 True 吗?
106 0
|
应用服务中间件
reloadable=“false“ 的作用
reloadable=“false“ 的作用
121 0
[]==![](true)、{}==!{}(false)
[]==![](true)、{}==!{}(false)
94 0
算法将一个对象中的某一个key值变为true,其他值都为false
算法将一个对象中的某一个key值变为true,其他值都为false
|
JavaScript 前端开发
01显示转换隐私转换 有8个值转为false 显示转换Number的注意点
01显示转换隐私转换 有8个值转为false 显示转换Number的注意点
|
Java 程序员
for(;;)和while(true)的区别
for(;;)和while(true)的区别
129 0
for(;;)和while(true)的区别
|
Java 编译器 C语言
for(;;)和while(true)的区别
for(;;)和while(true)的区别
136 0
for(;;)和while(true)的区别
|
编译器
for( ; ; )和while(true)的区别
喜欢看源码的同学可能都会发现,很多组件的作者在做死循环时,都喜欢用for( ; ; ),while(true)或者while(1)也能实现死循环,为啥大佬们都用for( ; ; )呢
4381 0
for( ; ; )和while(true)的区别