您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在JavaScript中,为什么“ 0”等于false,但是在通过“ if”进行测试时,其本身不是false?

在JavaScript中,为什么“ 0”等于false,但是在通过“ if”进行测试时,其本身不是false?

原因是因为当您显式这样做时"0" == false,双方都将转换为数字, 然后 执行比较。

当您执行以下操作:时if ("0") console.log("ha"),正在测试字符串值。任何非空字符串为true,而空字符串为false

如果两个操作数 ,则JavaScript会转换操作数,然后进行严格比较。如果操作数是 ,则如果可能,将操作数转换为数字;否则,操作数将转换为数字。否则,如果其中一个操作数是 ,则将另一个操作数转换为字符串(如果可能)。如果两个操作数都是对象,则JavaScript将比较内部引用,当操作数引用内存中的同一对象时,内部引用是相等的。

javascript 2022/1/1 18:15:07 有511人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶