当前位置:编程学习 > JS >>

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教程 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,