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

 

在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。

相关文章: