Isa*_*aac 84 javascript string equals
如果两个操作数的类型不同,则JavaScript转换操作数,然后应用严格比较.如果操作数是数字或布尔值,操作数将尽可能转换为数字; 否则,如果任一操作数是字符串,则另一个操作数将转换为字符串(如果可能).
考虑到这一点,我会评估"true" == true如下:
isNaN(Number("true")) // true)String(true) === "true" // true)我已经结束了与弦"true"和"true",这应该求true,但JavaScript的显示错误.
我错过了什么?
Max*_*Art 83
因为"true"转换为NaN,而true转换为1.所以他们不同.
就像你报道的那样,两者都被转换为数字,因为至少true可以(参见Erik Reppen的评论),然后进行比较.
因此,js引擎将“ true” == true解释为
===>错误
| 归档时间: |
|
| 查看次数: |
23719 次 |
| 最近记录: |