js中nan怎么解决

JavaScript022

js中nan怎么解决,第1张

首先要了解 NaN 是什么:Not a number ( 非数值 )

当语句中需要判断一个变量值是否为数值时,可以用isNaN()方法,得到true则表示不是数值。

var val = "abc"

alert(isNaN(val))//结果为:true

虽然语句中碰到产生NaN错误还会继续往下一句解析执行,但还是应该用判断语句处理一下:

if(isNaN(val)){

  alert("val值 为 非数值")

  //其他处理语句,如重新获取、从其他地方获取

}

"下午 "+hours -12

加入时20:35

问题出在这里,由于有字符串,这里加号功能是字符串连接

结果是"下午8"-12

由于减号不支持字符串操作,只能尝试将"下午8"转换为数字,结果发现无法转换

因此就产生了NaN 意思是 not a number 。即 非数字。

因此这个表达式改为:"下午" + (hours - 12)即可

另外 写程序不需要莫名的一些括弧

timeValue = hours >12 ? "下午 " + (hours -12) : "上午 "+hours

这样写完全可以达到目的

也能让表达式看起来更清晰