if(0<id<10){语句1;}
else if(id>10){语句2;}
else{语句3;}
id强制转换为整数parseInt(id),问题依旧。
查看parseInt(id)的类型,发现为number,按理说可以比较大小的,十分困惑...
在if语句前输出id看看结果,发现id即使id为11,还是执行语句1。
后来。。。
突发奇想,把id判断的改为:
if(id>10){语句2;}
else if(0<id<10){语句1;}
else{语句3;}
继续思考。。。
why?
想来想去,恍然大悟。
原来,问题就出在
0<id<10
这句话,它在判断id>0
成立时就不会再去判断id<10
是否成立了。所以应该写为id>0&&id<10
。这种情况经常会碰到,所以要格外小心。
想起以前做过的一道C题,也是类似的问题。都怪C语言没好好学。忏悔。。。