最近遇到一个js相等问题,0==”” 答案居然是true, 本人本来以为是false的。 然后去网上查了一下。最近也去本地试一下,结果如下 :
function test(){
console.log(null == 0); //false
console.log(null == '') //false
console.log(null == false); //false
console.log(null == undefined) //true
console.log(0 == '') //true
console.log(0 == false) //true
console.log(0 == undefined) //false
console.log('' == false) //true
console.log('' == undefined) //false
console.log(false == undefined) //false
if(null){
console.log('这是null执行'); //没执行
}
}
test();
对于相等的情况如上图,还有就是 undefined、null、””、0、false这五个值在if语句中做判断,都会执行false分支。