JS中判断为false的情况

此内容是原创,转载请注明出处,谢谢!

在js中如果声明一个变量a。 f(a){ }else{}这句话在什么情况下会走else{},也就是判断为false呢?做了一个小实验,验证:

var a ;if(a){console.log("存在")}else{console.log("不存在")}
不存在
var a = '';if(a){console.log("存在")}else{console.log("不存在")};
不存在
var a = "";if(a){console.log("存在")}else{console.log("不存在")};
不存在
var a = null;if(a){console.log("存在")}else{console.log("不存在")};
不存在
var a = 0;if(a){console.log("存在")}else{console.log("不存在")};
不存在
var a = 0.0;if(a){console.log("存在")}else{console.log("不存在")};
不存在
var a = false;if(a){console.log("存在")}else{console.log("不存在")};
不存在
var a = parseInt("asd");if(a){console.log("存在")}else{console.log("不存在")};//a是NaN
不存在 

以下是为true的情况

var a = true;if(a){console.log("存在")}else{console.log("不存在")};
存在
var a = 1;if(a){console.log("存在")}else{console.log("不存在")};
存在
var a = 'abc';if(a){console.log("存在")}else{console.log("不存在")};
存在

总结:当变量a的值为0、空、null、false、undefined的情况下,是为false。

原文地址:https://www.cnblogs.com/liwei45212/p/3028506.html