我用 if(isNaN(InputNum1)||isNaN(InputNum2)) 进行判断 但是 isNaN(InputNum2)输入的是数字也返回true 而isNaN(InputNum1)反应正常 InputNum1和InputNum2的声明赋值如下: var InputNum1=form1.num1.value; var InputNum2=form1.num2.value; 为什么会这样呢?isNaN的意思是:不是一个数字。。返回一个true就不是数字,,,否则就是一个数字。。 给分吧! 这么简单还问什么,你再看下问题咯 if(isNaN(InputNum1)||isNaN(InputNum2)) 这个条件是说,只要inputNum1 和InputNum2中任何一个不是是数字都会返回true,“||”是逻辑或的意思 如果你要同时满足都不是数字的话应该是用&&及 if(isNaN(InputNum1)&&isNaN(InputNum2)) 这样只要一个是数字都会返回false
||改&& 这是逻辑问题,LZ好好想想吧 "||"是简洁与,意思也就是说只要isNaN(InputNum1)是返回是false,就不再判断后面的isNaN(InputNum2)的返回值 ,它不同于"|","|"是逻辑与,不管isNaN(InputNum1)判断是否正确,都要对后面的isNaN(InputNum2)) 再判断 isNaN 的意思是判断“是不是不是一个数”,楼主逻辑有点乱了!上 isNaN 就是 is not a number 的意思! is not a number