JavaScript !!的使用

首先一个!是取反的意思

!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是否为有效值的布尔值,有这种需求的用第二种更佳