现有一js函数,参数为bool型的,如下:
function fun(isNumberflag){
var numberValue=isNumberflag;
.…… //numberValue值在后面的代码中有用到
}
现在的问题是,怎么保证numberValue的值是bool型的?js是弱类型的语言,所以不能像java一自动检查给numberValue赋的值是否是bool类型。而!!就能解决这个问题。
var numberValue=!!isNumberflag; //如果isNumberflag明确设置了变量的值(非null/undifined/0/""等值),结果就会根据isNumberflag的实际值来返回,如果没有设置,结果就会返回false。这样就保证了numberValue的值都只能在true/false中取,而非其它值,为后续判断提供便利。