不知道你有没有写过下面这样的代码,反正我是写过

if(a !=null && typeof(a) != undefined && a != ''){
	....
} 

每次写这个就很麻烦,代码看起来特别的臃肿,所以就要知道什么情况下 if 内的条件表达式为true

if(条件表达式){
	....
}

条件表达式什么情况下才为true呢,经过测试,如下

1、对象, 只要这个对象不为null,就会被计算为 true
2、Undefined, 也会被计算为 false
3、null ,会被计算为 false
4、布尔值, 被计算为布尔的值
5、数字, 如果是 +0,-0, NaN,则会被计算为 false ,否则为 true
6、字符串, 如果是空字符串 ”“ ,为 false,否则为 true