search

Home  >  Q&A  >  body text

javascript - JS中undefined == false 和null == false 返回的是false而不是true,求解释?

null == false;             // false
undefined == false;        // false
undefined == null;         // true        

为什么JS中undefined == false 和null == false 返回的是false,而undefined == null 返回的是true,求解释?

高洛峰高洛峰2900 days ago647

reply all(3)I'll reply

  • 迷茫

    迷茫2017-04-10 14:51:27

    这时候必须要祭出 @justjavac 大大的神器了!http://segmentfault.com/blog/justjavac/1190000000650129

    reply
    0
  • 阿神

    阿神2017-04-10 14:51:27

    楼上的答案确实很全面,题主能这么问说明收到C语言的影响了吧?C语言确实是NULLvalue就是0,但在JS中最好区分开来,我们不要去考虑null应该是什么值,因为它本身就是值,而falsetrue却与01对应,至于undefined == null这可能是一种硬性规定吧。

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 14:51:27

    null 和 undefined 是相等的。
    但是要比较相等性之前,不能将 null 和 undefined 转换成其他任何值。

                                                      --《JavaScript高级程序设计中文版3e》52页

    reply
    0
  • Cancelreply