undefined、null和false本来就不一样o

解决方案 »

  1.   

    这几个关键字的值本来就不相等啊。
    所以会执行else里的啊。
      

  2.   

    if(undefined==false){
        console.log('undefined is false')
    }else 
        console.log('undefined is true');
    console.log('undefined is true')老大这个是你自己 输出的
    这个只能证明 undefined==false 是一个否定的表达式
      

  3.   

    if(!!undefined==false){console.log('undefined is false')}else console.log('undefined is true');
    输出:undefined is falseif(!!null==false){console.log('null is false')}else console.log('null is true');
    输出:null is false加了两个!!   判断表达式的结果 就为true了。如果不加 !! 的话 javascript不会自动转换类型,然后进行比较的吗?
      

  4.   

    这个不能自动转换
    自动转换的话 
    不符合自然逻辑马 == 动物  (结果是 false)
    转换
    动物 == 动物(结果是 true)难道你希望你的代码是这样的结果?呵呵
      

  5.   

    1、如果有一个操作数是boolean值,则在比较相等性之前先将其转换成数值-- false转换成0,true转换为1。
    2、null和undefined 不能转换成其他的任何值。
    所以if(null == false) 判断为false。多谢各位大神指导。