Javascript中有6个值为false,分别是: 0, '', null, undefined, NaN 和 false, 其他(包括{}, [], Infinity)为true.
数据类型 | bool值转化 |
---|---|
undefined | undefined 转化为 false |
Object | null 转化为false,其他为 true |
Boolean | false 转化为 false,true 转化为 true |
Number | 0,NaN 转化为false,其他为 true |
String | "" 转化为 false,其他为 true |
例如,
!null=true !undefined=true !''=true !100=false !'abc'=false
var obj; if(obj!=null&&typeof(a)!=undefined&&a!=''){ //obj有内容才执行的代码 } //其实我们只需!!表达室即可 //1:将对象转化成布尔值 2:取反 if(!!obj){ //obj不为null,'',0,undefine,NaN,false执行 }