Javascript如何判断一个变量是数字类型?

isNaN()不能判断一个变量是否为数字类型,isNaN(123)值为false,isNaN(‘123‘)值也为false。isNaN() 的实际作用跟它的名字isNaN并不一致,isNaN(NaN)值为true,isNaN(Number("xyz"))值为true,isNaN("abc")值为true,isNaN(123/0)值为false,所以它实际是将不能转换成number类型的其他类型及其自身NaN都判断为true,而除了其自身NaN外所有的number类型都判断为false(NaN的类型也是number),能转换成number类型的其他类型也判断为false,比如‘123‘类型是string,但判断为false。typeof(num)=="number" 较为准确,但NaN也是number类型,Number("xyz")也是number类型,如果你只要区分123跟‘123‘,那就没什么问题了,可以用typeof(num)==="number"。 如果要排除除数为0的情况,要再判断(num!==Infinity),即(typeof(num)=="number")&&(num!==Infinity)。再全面一点:(typeof(num)==="number")&&(num!==Infinity)&&!isNaN(num)

资料:Number.isNaN()已经被添加到了ECMAScript 6中,Firefox已经实现了。代码如下:Number.isNaN = function (value) {     return typeof value === ‘number‘ && isNaN(value); };

NaN是唯一一个满足(x !== x)不等式的值
时间: 2024-11-05 20:48:46

Javascript如何判断一个变量是数字类型?的相关文章

判断一个变量是数组类型的方法

在很多时候,我们都需要对一个变量进行数组类型的判断(借鉴) 学过js就应该知道typeof运算符返回字符串,该字符串代表操作数的类型(即返回数据类型)这是最常用的. 下面多种实现方式: JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Array的对象就不起作用了. alert(typeof null); // "object" alert(ty

关于Js(六) 如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种)

Number 这种类型用来表示整数和浮点数值.typeof 操作符可以判断number的类型. 还有一种特殊的数值,即NaN(非数值 Not a Number),这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了).例如,在其他编程语言中,任何数值除以0都会导致错误,从而停止代码执行.但在JavaScript中,任何数值除以0会返回NaN,因此不会影响其他代码的执行. NaN本身有两个非同寻常的特点.首先,任何涉及NaN的操作(例如NaN/10)都会返回NaN,这个

如何准确判断一个变量是数组类型

只有instanceof才能判断一个对象是否是真正的数组 var arr = [] arr instanceof Array // true typeof arr // object typeof 是无法判断是否是数组的 扩展:实际应用中,和数组同样重要.起同样作用并且更加灵活的数据结构还是"伪数组"或者"类数据"(jquery 就用到了).因此,在实际应用中,只需要判断length属性是否是数字即可. var arr = [] var likeArr = { 0:

js中判断一个变量是否为数字类型的疑问

1.typeof(a)=="number" 是true,但是a instanceof Number却为false,不理解 2.isNaN()不能判断一个变量是否为数字类型,isNaN(123)值为false,isNaN('123')值也为false.isNaN() 的实际作用跟它的名字isNaN并不一致,isNaN(NaN)值为true,isNaN(Number("xyz"))值为true,isNaN("abc")值为true,isNaN(123

JavaScript判断一个变量是对象还是数组

typeof都返回object 在JavaScript中所有数据类型严格意义上都是对象,但实际使用中我们还是有类型之分,如果要判断一个变量是数组还是对象使用typeof搞不定,因为它全都返回object 1 2 3 4 5 6 var o = { 'name':'lee' }; var a = ['reg','blue']; document.write( ' o typeof is ' + typeof o); document.write( ' <br />'); document.wri

判断一个变量是否是某种基本类型.

public static void Judge(object ma) { var ta = ma.GetType(); //通过Type可以对传入的参数类型进行基本类型的判断 Console.WriteLine(ta.IsEnum); //枚举 Console.WriteLine(ta.IsValueType); //值类型 Console.WriteLine(ta.IsInterface); //接口 Console.WriteLine(ta.IsClass); //引用类型 Console

JavaScript 判断一个变量是不是数组

如何判断一个变量是不是数组是一个很基础的问题. 1. 可以简单的使用instanceof来判断 [] instanceof Array 这种用法的缺陷是在iframe里面定义的Array 实例不能适用.例如在子iframe里面定义的变量 a = []; 如果判断: document.getElementsByTagName('iframe')[0].contentWindow.a instanceof Array 会返回false, 另外的以下的结果为true.可见iframe里面的window

type,isinstance判断一个变量的数据类型

type,isinstance判断一个变量的数据类型 import types type(x) is types.IntType # 判断是否int 类型 type(x) is types.StringType #是否string类型 ......... -------------------------------------------------------- 超级恶心的模式,不用记住types.StringType import types type(x) == types(1) # 判

shell 判断一个变量是否为空

判断一个变量是否为空 . 1. 变量通过" "引号引起来 如下所示:,可以得到结果为 IS NULL. #!/bin/sh para1= if [ ! -n "$para1" ]; then echo "IS NULL" else echo "NOT NULL" fi 2. 直接通过变量判断 如下所示:得到的结果为: IS NULL #!/bin/sh para1= if [ ! $para1 ]; then echo &qu