首先一个!是取反的意思
!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是否为有效值的布尔值,有这种需求的用第二种更佳