javascript NaN的用法与实例
NaN是一个值类型,同是也是一个数值.意思是Not A Number,这个都知道是什么意思.值比较特殊,特殊在于NaN是一个数字,是一个与任何数值都不相等的数字.
三 NaN 值
是一个特殊值,表示非数(Not a Number)
类型转换失败就会返回NaN
e.g. 要把一个单词blue转换为数值就会失败因为没有等价的数值
NaN 不等于自己
即 NaN == NaN 是 false
判断NaN 使用 isNaN();
网页特效:alert(typeof(NaN));可以完全证实,这是一个数字类型的值.也就是说NaN是当时转换时一种出错的策略,转成一个谁也不认识的数字而已.从这个角度上理解它是一个数字,可以理解成数学中的无穷大或是无穷小.但与数学中一个理论是相悖的,我们常说,无穷大加1等于无穷大是错误的.正是无空大加1不等于无穷大,所以无穷大也不等于它自己本身.所以数值NaN连自身都不会相等的.
而在javascript中NaN既然作为一个无穷大,那么它表示的就不再是一个值,而是一类值,所以有时可视NaN是一个类型.
正是这样的边缘问题,可以导致作如下测试是正确的:
javascript:alert(NaN+1);结果是无穷大.
但唯一的是NaN是一个不确定数,所以NaN不能等于NaN.
这好比是randomise中的random,random +1 还是一个不确定的数值,但random不会等于random一样.两者的区别在于random能生成一个确定数,但本身不确定.而NaN生成的就是一个不确定数
定义和用法
NaN 属性用于引用特殊的非数字值。
语法
NaN说明
无法使用 for/in 循环来枚举 NaN 属性,也不能用 delete 运算符来删除它。
NaN 不是常量,可以把它设置为其他值。
提示和注释
提示:请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。
实例
在本例中,我们将展示当一个数超出了 infinity 的限制发生的情况:
<script type="text/javascript">
var test1="300"
var test2="Hello World!"document.write(Number(test1)+ "<br />")
document.write(Number(test2)+ "<br />")document.write(isNaN(test1)+ "<br />")
document.write(isNaN(test2))</script>输出:
300NaNfalsetrue
实例
<body>
<script language="JavaScript">
<!--
if(123 == Number.NaN){
document.write("This is not a number");
}
-->
</script>
补充:网页制作,js教程