如果我有变量x =“”
我检查以下情况 如果x!= 0
在所有浏览器中评估为false?
为什么0处理与“”相同?
答案 0 :(得分:4)
当您使用==
运算符时,JavaScript会尝试将两个操作数转换为相同的类型进行比较。当你有一个字符串和一个数字时,它会尝试将字符串转换为数字。 ""
转换为0
,为您提供此结果。
由于这种行为,许多人选择使用===
和!==
运算符。他们的操作数必须是相同的类型才能被认为是相同的。
答案 1 :(得分:1)
因为0
和''
的评估方式如下:
0 == false //true
'' == false //true
使用===
正确检查
答案 2 :(得分:0)
投放时""
等于0
:
"" != 0
- > {{1st}} - > string != int
- > (int)string != int