js 变量等于0也等也" "问题

var a = 0;

if(a==""){

a = 2;

}

这行代码最终结果,a 为 2;因为:a==0==""==false;

在js 中0、false、""是相等的默认值;

如int 默认值为0,bool默认值为false,字符串默认值为""即:

0==false==""

1==true="1"

作为弱类型语言必须兼容各种类型的定义,一般情况下就用这三种类型;

所以为了解决这种问题,可以先判断isNaN,在判断typeOf类型,再做转换parseInt...方式转换;

你可能感兴趣的:(前端,js,变量等于0也等也","问题)