我们知道Javascript提供了typeof运算符,所以想最简单的办法就是使用typeof来确定它是否是一个数字型。

复制代码代码如下所示:

功能isnumber(obj){

返回类型的obj =数

}



这个函数对整数和浮点数没有问题,但对于返回值为true也很不舒服。毕竟,与isnumber判断,没有人会用南做算术运算。

然后改进,尝试与Object.prototype.toString。

复制代码代码如下所示:

功能isnumber(obj){

返回object.prototype.tostring.call(obj)={ }对象数

}



与类型的判断,代码量仍然是楠回到真正的大,这是不期望的结果。判断数组(数组)tostring.call方式是可行的,而且数量很难跟随。

在进一步完善,NaN值处理与isnan功能。

复制代码代码如下所示:

功能isnumber(obj){

返回类型obj'number'isnan(obj)= = =!

}



这一次,如果输入是非数值的(楠或可以转换为南值),则返回false。

复制代码代码如下所示:

功能isnumber(obj){

返回类型obj'number'isnan(obj)= = =!

}

isnumber(1) / /真的

isnumber(1.2) / /真的

isnumber(南) / /假

isnumber(parseInt(A)) / /假



嗯,这isnumber是好的,但有相当于一个由有限

复制代码代码如下所示:

功能isnumber(obj){

返回类对象系统(obj)=数

}



现在,最短码的数字判断是本文中提到的isnan功能第三使用。以下是世界上最短的数字判断码数

复制代码代码如下所示:

功能isnumber(obj){

返回obj = + obj

}



对于整数,浮点数返回true,返回值为南的false或可以转换为南的值。

你不明白,是吗咕(篮球,人)。

花园里的朋友说这是不是世界上最短的码数,和参数obj可以改变一个字符。(呵呵)你是对的。

js动态语言特性的最短判断(运算符操作中的内部自动类型转换)是类似的。

复制代码代码如下所示:

法官/字符串

功能isstring(obj){

返回obj =对象+

}

判断/布尔类型

功能isboolean(obj){

返回obj = obj!!

}