最近遇到一个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分支。