黑马程序员技术交流社区

标题: 【上海校区】js中这六种值为"假",其他均为"真" [打印本页]

作者: 不二晨    时间: 2019-3-29 16:45
标题: 【上海校区】js中这六种值为"假",其他均为"真"
写在前面:通常在以下语句结构中需要判断真假

1.if分支语句
2.while循环语句
3.for里的第二个语句
一、JavaScript中有 6 种值为“假”

1.false (布尔型)
2.null (用于定义空的或者不存在的引用)
3.undefined (未定义值)
4.0 (数值型)
5."'' (空字符串) (字符型)
6.NaN
这里面 false 本身是布尔类型,其它 5 个则不是。除了这 6 个外,其它均为“真” ,包括对象、数组、正则、函数等。注意 '0'、'null'、'false'、{}、[]也都是真值  。

二、虽然这六个值都为“假”,它们之间并非都相等

console.log( false == null )      // false
console.log( false == undefined ) // false
console.log( false == 0 )         // true
console.log( false == '' )        // true
console.log( false == NaN )       // false

console.log( null == undefined ) // true
console.log( null == 0 )         // false
console.log( null == '' )        // false
console.log( null == NaN )       // false

console.log( undefined == 0)   // false
console.log( undefined == '')  // false
console.log( undefined == NaN) // false

console.log( 0 == '' )  // true
console.log( 0 == NaN ) // false
三、对于“==”,以上得出下列结论

1.false 除了和自身比较为 true 外,和 0,"" 比较也为 true
2.null 只和 undefined 比较时为 true, 反过来 undefined 也仅和 null 比较为 true,没有第二个
3.0 除了和 false 比较为 true,还有空字符串 ''" 和空数组 []比较也为true
4.空字符串 '' 除了和 false 比较为 true,还有一个数字 0

---------------------
【转载,仅作分享,侵删】
作者:Ryan Ji
原文:https://blog.csdn.net/qq_42451979/article/details/81032243
版权声明:本文为博主原创文章,转载请附上博文链接!


作者: 不二晨    时间: 2019-4-10 14:30
奈斯,感谢分享!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2