您的位置:首页 > Web前端 > JavaScript

javascript中false值及其常见比较运算

2014-09-18 11:59 274 查看
1. ture或者false的值

if判断中会被隐式转换成false的boolean类型的值有 false, 0, undefined , null , '', NaN(not a number)

除此外 其他的值会被认为true, 包括 '0', 'false', 空function, 空数组([]),空对象({})

var a = !!(0);// 等价于 var a = false;

var a = !!('0'); // 等价于 var a = true; 


2. falsy值的比较

  值为 false , '', 0 三者进行值比较,如下:

alert(false == '');//true
alert(false == 0);//true
alert(0 == '');//true


  false,'',0 与 undefined , null 之间的比较,结果如下:

alert(false == undefined);//false
alert('' == null);//false
alert('' == undefined);//false


 

alert(undefined == undefined);//true
alert(null == null);//true


 可以看到,0, '', false 这三者进行值比较是相等的,undefinde, null 除与自身相比外,与其他任何类型值进行比较都是不等的

NaN与其他类型falsy values值比较情况如下:

alert(false == NaN);//false
alert(0 == NaN);//false
alert('' == NaN);//false
alert(undefined == NaN);//false
alert(null == NaN);//false
alert(NaN == NaN);//false


  由结果得知,NaN与任何类型的值都不相等,包括自身. 如何判断NaN类型的值

alert(typeof(NaN));//number
alert(isNaN(NaN));//true


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: