数字大小判定

由于遇到大小判定的坑,这里记录一下,问题如下:

这是一个评价的功能,包含两个评价打分项目,在提交的时候,会进行打分项是否有打分的判定,如下所示

if(data.QualityStar<=0){
   app.showToast('请给质量评价打个分,谢谢', 'none');
   return;
}

但是当用户不选择的时候,上面也不会进入提示

经过console.log,发现data.QualityStar为undefined,这个时候 data.QualityStar<=0 为false

经过改造如下

if(!data.QualityStar || parseInt(data.QualityStar)<=0){
   app.showToast('请给质量评价打个分,谢谢', 'none');
   return;
}

发散一下,还发现类似问题

parseInt(data.QualityStar)  // data.QualityStar为undefined 时,这个为NaN
parseInt(data.QualityStar)<=0 // parseInt(data.QualityStar)为NaN时,这个是false