首先一个!是取反的意思
!null = true
!'' = true
!undefined=true
!'str'=false
!222=false
!!则是取反之后再取反,即实现了
var str ;
if(str!=null && typeof(a)!=undefined&&a!=''){
//str有有效值
}
等于
if(!!str){
//str有效的值
}
也等于
if(str){
//str有有效值
}
第二、三种写法明显优于第一种,第二种写法相较第三种写法可以直接获取str是否为有效值的布尔值,有这种需求的用第二种更佳