JavaScript中的 true

 

经常看到有人写 如下代码,有时候也是凭经验猜想到底是什么意思,本着认真学习 JavaScript 的精神,专门写一篇去讨论这个问题。

if(name){
//do something.
}else{
//code
}

而此时,name 在前面是被赋值过,今天专门做了一个测试,如下:测试1

var a = undefined;
if(a){
 console.log("true");
}else{
 console.log("false");
}
//输出 False

再进行下面的修改:测试2

var a = null;
if(a){
 console.log("true");
}else{
 console.log("false");
}
//输出 False

测试3:

var a = 0;
if(a){
 console.log("true");
}else{
 console.log("false");
}
//输出 false

 测试4:

var a = 1;
if(a){
 console.log("true");
}else{
 console.log("false");
}
//输出 true

测试5:

var a = '';
if(a){
 console.log("true");
}else{
 console.log("false");
}
 //输出false

测试6:

var a = '1';
if(a){
 console.log("true");
}else{
 console.log("false");
}
//输出true

测试7:

var a = [];
if(a){
 console.log("true");
}else{
 console.log("false");
}
 //输出true

测试8:

var a ;
if(a){
 console.log("true");
}else{
 console.log("false");
}
//输出false

 

 

最后:得出结论,非0  、 非undefined  、 非null 、 非空字符串 、或是自定义不赋值 如果做布尔判断,都会返回真。否则假。

 

莫问哥哥于 2018年1月2日                                    

posted @ 2018-01-02 20:16  莫问哥哥  阅读(741)  评论(0编辑  收藏  举报