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...方式转换;
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...方式转换;