前两天面试遇到的问题,当时一脸懵逼,回来想想其实之前有看过,记录下以防忘记
JavaScript中有 6 个值为“假“,这六个值是
false,null,undefined,0,”(空字符串),NaN
除了这 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
以上是这几个假值相比较的结果
附上面试题
var a=1,b=1,c=1,d=1;
if(a==b==c==d){
}
能不能进判断
var a =1,b=0
if(a){
}
能不能进判断
if(b){
}
能不能进判断
var m = {a:1,b:0}
if(m){
}
能不能进判断