为什么在JavaScript中使用0 == ""
?我发现了一个similar post here,但为什么数字0类似一个空字符串?当然,0 === ""
是错误的。为什么在JavaScript中使用0 ==“”
回答
0 == ''
左操作数的类型为Number。
右操作数是String类型。
在这种情况下,右边的操作数被强制转换为类型数:
0 == Number('')
这导致
0 == 0
从摘要相等比较算法(数4) :
如果Type(x)是Number和Type(y)是String,则返回 的比较结果x == ToNumber(y)。
谢谢,我只是期望它相反,0转换为字符串,然后是错误的。 –
是的,另一方面,这意味着说两者都是虚假的 - 就像在其他答案中一样,这是不正确的。因为 - 正如你所表现的那样 - 原因是“”=> 0.感谢您的支持! –
@霍斯特 - 是的,没错。如果你在if(0)或if(“”)“中单独使用它们,但是在==比较的情况下,这两个都不会发生。 (不知道为什么Šime还在上面留言,说“因为这两个值都是虚假的”)。 – nnnnnn
- 1. 为什么JavaScript中的“0 === -0”为true?
- 2. 为什么{} + []在Javascript中返回0?
- 3. 为什么0 ==''在Javascript中是true?
- 4. javascript中使用[0]有什么用法
- 5. 为什么JavaScript中的0小于Number.MIN_VALUE?
- 6. 为什么+ []或+“”等于0在javascript
- 7. 为什么用0
- 8. Javascript:什么是“ - 0”在干什么?
- 9. JavaScript中做什么(0&1)?
- 10. 为什么JavaScript将其记录为“0”?
- 11. 为什么使用`javascript:void(0)`而不是`javascript:`作为href做什么占位符?
- 12. 为什么javascript在toString方法中用0代替数字?
- 13. 为什么在javascript中使用“// - >”
- 14. 为什么不在javascript中使用[undefined]?
- 15. 为什么在Less.js中使用JavaScript
- 16. 在JavaScript中,0 === 4是什么意思?
- 17. 什么是0;在javascript中的意思
- 18. 在javascript/jQuery中,.files [0]代表什么?
- 19. 在JavaScript中,为什么~~ Infinity评估为0?
- 20. 为什么string ='0'不严格等于javascript中的新String('0')
- 21. 在javascript中使用“return!0”有什么意义吗?
- 22. 为什么(Infinity | 0)=== 0?
- 23. 什么是!0在JavaScript中使用==进行比较时转换为?
- 24. 使用curl_exec($ curl)后,为什么$ status = 0?
- 25. 为什么最后使用getElementsByTagName(“a”)[0]?
- 26. 为什么在JavaScript中“”==“0”是错误的?
- 27. 为什么1 | 0,2 | 0在JavaScript中等于2?
- 28. 为什么new Date()。getTime()在javascript中返回太多“0”
- 29. 为什么Number([])=== 0和Number({})=== NaN在Javascript中?
- 30. 0 [1,2] ==为什么?
你的意思0 “铸造” 假 “” 流延假和支票是假的==假=>真 –
对于PHP,请参见http:// PHP。 net/manual/en/types.comparisons.php – apscience
我相信这是因为Javascript在某些情况下自动强制字符串和数字,==运算符是其中的一种上下文,并且“”强制为0 – millimoose