javascript 的逻辑 ! 和==""的问题?
伊谢尔伦
伊谢尔伦 2017-04-11 12:13:27
[JavaScript讨论组]

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

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

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

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

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

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(4)
阿神

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

巴扎黑

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

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

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

伊谢尔伦

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

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

ringa_lee

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号