首页 > javascript 的逻辑 ! 和==""的问题?

javascript 的逻辑 ! 和==""的问题?

请问 如果获取的内容框为空时。
!content 和content =='' 有什么区别?

还有的是!=null 不是空的意思 但我感觉就算不用写!=null 也没有什么关系吧?

  var content = $("#content").val();

    if (!content || content == '') {
        return false;
    }
    

问了后端同事给我答案也不是很懂 感觉少了什么


javascript 中存在隐式转换,在条件判断语句中,0,"",undefined,null这类会被转化成false,但是""null是不一样的,""是确切存在的值,只不过是空串而已,所以"" != nulltrue


一般这种情况,直接打开控制台,试一下就明白了。

看你的逻辑,还是用 !content 更好一些。
因为万一拿不到$("#content")这个jquery对象的话,也不影响代码执行。

就是说,!content可以覆盖到content为null,undefined,''


!content返回boolean值,content==''也是返回boolean值。在if判断中,可以自动类型转换,不用写!=null


在需要 boolean 类型的表达式的时候,JS 有些数据是可以自动转换成 boolean 值的,参考下图

!= null 会判断即不是 null 也不是 undefined。但是 "" != null 0 != null 等都是判真,但是 ""0 本身用作布尔表达式会被判假,

【热门文章】
【热门文章】