javascript-不与本地存储中的NULL比较
所以我想从本地存储中获取一个变量。如果它不存在于本地存储中,那么我想创建该变量。我使用javascript-不与本地存储中的NULL比较,javascript,local-storage,logical-operators,comparison-operators,Javascript,Local Storage,Logical Operators,Comparison Operators,所以我想从本地存储中获取一个变量。如果它不存在于本地存储中,那么我想创建该变量。我使用if(x==null)来查看它是否存在,然后我注意到if(!x)具有相同的结果。可以使用吗在这种情况下?我不知道和null在这里是相同的。另外,在检查null时,我应该使用==还是=可以 这里有两个例子给出了相同的结果 <script> localStorage.clear(); a=localStorage.getItem('a');if (!a) a='hello'; alert(a); x
if(x==null)
来查看它是否存在,然后我注意到if(!x)
具有相同的结果。可以使用吗代码>在这种情况下?我不知道
和null
在这里是相同的。另外,在检查null时,我应该使用==
还是=
可以
这里有两个例子给出了相同的结果
<script>
localStorage.clear();
a=localStorage.getItem('a');if (!a) a='hello';
alert(a);
x=localStorage.getItem('x');if (!x) x=0.7;
alert(x);
</script>
localStorage.clear();
a=localStorage.getItem('a');如果(!a)a='hello';
警报(a);
x=localStorage.getItem('x');如果(!x)x=0.7;
警报(x);
localStorage.clear();
a=localStorage.getItem('a');如果(a==null)a='hello';
警报(a);
x=localStorage.getItem('x');如果(x==null)x=0.7;
警报(x);
不完全一样。。。这是!x
正在检查真实值,但是null
、未定义
、甚至0
之间的任何值都将返回false
=
和==
之间也存在显著差异,其中==
将尝试自动类型转换,以检查值是否以某种方式兼容,但==
将检查严格的相等性
在此链接中,您可以了解有关JavaScript类型及其与不同运算符的交互的更多信息
localStorage.getItem
如果密钥不存在,则返回null。因此,如果密钥不存在,a===null
将是最具体的检查。然而,null在javascript中是错误的。因此,您可以将支票缩减为:
a=localStorage.getItem('a')| |'hello'代码>
如果我理解正确的话,它的功能与您的if相同,并且使用not运算符可能与So重复!表示“falsy”,如果本地存储中不存在值,则该值为NULL。由于null是一个错误的值,在这种情况下使用if(!x)是完全可以接受的,对吗?很好的答案我不知道你可以用这种方式使用“或”符号。非常好!
<script>
localStorage.clear();
a=localStorage.getItem('a');if (a==null) a='hello';
alert(a);
x=localStorage.getItem('x');if (x==null) x=0.7;
alert(x);
</script>