NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。NaN和谁都不相等,包括自己。
你的i==NaN也就是NaN==NaN,因为NaN不等于任何值,所以i==NaN为false,则执行第二句。
首先要了解 NaN 是什么:Not a number ( 非数值 )
当语句中需要判断一个变量值是否为数值时,可以用isNaN()方法,得到true则表示不是数值。
var val = "abc"alert(isNaN(val))//结果为:true
虽然语句中碰到产生NaN错误还会继续往下一句解析执行,但还是应该用判断语句处理一下:
if(isNaN(val)){alert("val值 为 非数值")
//其他处理语句,如重新获取、从其他地方获取
}