码迷,mamicode.com
首页 > 编程语言 > 详细

isNaN() JavaScript判断变量是否是一个数字

时间:2015-01-25 18:13:00      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

  NaN,即非数值(Not a Number)是一个特殊的值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。比如,在其他语言中,任何数值除 以 0 都会导致错误而终止程序执行。但在 ECMAScript 中,会返回出特殊的值,因此不会影 响程序执行。
var box = 0 / 0; // NaN
var box = 12 / 0; // Infinity
var box = 12 / 0 * 0; // NaN  可以通过 Number.NaN 得到 NaN 值, 任何与 NaN 进行运算的结果均为 NaN, NaN 与自

 

  可以通过 Number.NaN 得到 NaN 值, 任何与 NaN 进行运算的结果均为 NaN, NaN 与自身不相等(NaN 不与任何值相等)。
Number.NaN; // NaN
NaN+1; // NaN
NaN == NaN // false

 

  ECMAScript 提供了 isNaN()函数,用来判断这个值到底是不是 NaN。isNaN()函数在接收到一个值之后,会尝试将这个值转换为数值。
isNaN(NaN); // true
isNaN(25); // false 25 是一个数值
isNaN(‘25‘); // false ‘25‘是一个字符串数值,可以转成数值
isNaN(‘Lee‘); // true ‘Lee‘不能转换为数值
isNaN(true); // false true可以转成成 1

 

  isNaN()函数也适用于对象。在调用 isNaN()函数过程中,首先会调用 valueOf()方法,然后确定返回值是否能够转换成数值。如果不能,则基于这个返回值再调用 toString()方法,再测试返回值。
var box = {
    toString : function () {
        return ‘123‘; //可以改成 return ‘Lee‘查看效果
    }
};
isNaN(box); //false

 

isNaN() JavaScript判断变量是否是一个数字

标签:

原文地址:http://www.cnblogs.com/happyfreelife/p/4248384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!