为什么在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. javascript中使用[0]有什么用法
- 4. 为什么JavaScript中的0小于Number.MIN_VALUE?
- 5. 为什么JavaScript将其记录为“0”?
- 6. 为什么使用`javascript:void(0)`而不是`javascript:`作为href做什么占位符?
- 7. 为什么在javascript中使用“// - >”
- 8. 为什么在Less.js中使用JavaScript
- 9. 在javascript/jQuery中,.files [0]代表什么?
- 10. 在JavaScript中,0 === 4是什么意思?
- 11. 在JavaScript中,为什么~~ Infinity评估为0?
- 12. 在javascript中使用“return!0”有什么意义吗?
- 13. 为什么最后使用getElementsByTagName(“a”)[0]?
- 14. 为什么xspeed!= 0?
- 15. 为什么bytes.length = 0?
- 16. 为什么在Javascript中''=='0'是错误的,但是0 ==''是真的?
- 17. 为什么在Python中'> 0 True?
- 18. 在csh中,为什么4 - 3 + 1 == 0?
- 19. 为什么在宏定义中使用do {} while(0)?
- 20. 为什么要在SQL中使用WHERE 1 = 0语句?
- 21. 为什么在串口编程中使用fcntl(fd,F_SETFL,0)
- 22. 为什么在宏中使用'do {} while(0)'?
- 23. 为什么我们在Tictoc10的toc [0] .out ++中使用++?
- 24. 为什么会有人使用!在JavaScript?
- 25. 为什么OOP JavaScript中使用object.prototype.constructor?
- 26. JavaScript二进制减少函数:为什么16 + 0返回0?
- 27. 什么是“价值| 0”在JavaScript
- 28. 为什么输出为0?
- 29. 为什么使用str.chatAt(0)而不是str [0]进行优化?
- 30. 在Javascript中计数为0?
你的意思0 “铸造” 假 “” 流延假和支票是假的==假=>真 –
对于PHP,请参见http:// PHP。 net/manual/en/types.comparisons.php – apscience
我相信这是因为Javascript在某些情况下自动强制字符串和数字,==运算符是其中的一种上下文,并且“”强制为0 – millimoose