世界上最短的数字判断JavaScript代码是什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计596个文字,预计阅读时间需要3分钟。
我们知道JavaScript提供了typeof运算符,它常用来判断数据类型。例如,可以通过以下函数判断一个对象是否是number类型:
javascriptfunction isNumber(obj) { return typeof obj==='number';}
这个函数对于整数和浮点数都没有问题,但对于NaN值会有问题。
我们知道JavaScript提供了typeof运算符,因此最容易想到的是用typeof来判断是否是number类型
function isNumber(obj) { return typeof obj === 'number' }
这个函数对于整数和浮点数都没有问题,但对于NaN值也返回true这让人感到不爽,毕竟用isNumber判断通过后谁也不会用NaN去做算术运算。
那改进一下,用Object.prototype.toString试试
function isNumber(obj) { return Object.prototype.toString.call(obj) === '[object Number]' }
和typeof判断一样,对于NaN也返回true,代码量还大了,这不是想要的结果。toString.call方式判断数组(Array)可行,数字则力不从心了。
本文共计596个文字,预计阅读时间需要3分钟。
我们知道JavaScript提供了typeof运算符,它常用来判断数据类型。例如,可以通过以下函数判断一个对象是否是number类型:
javascriptfunction isNumber(obj) { return typeof obj==='number';}
这个函数对于整数和浮点数都没有问题,但对于NaN值会有问题。
我们知道JavaScript提供了typeof运算符,因此最容易想到的是用typeof来判断是否是number类型
function isNumber(obj) { return typeof obj === 'number' }
这个函数对于整数和浮点数都没有问题,但对于NaN值也返回true这让人感到不爽,毕竟用isNumber判断通过后谁也不会用NaN去做算术运算。
那改进一下,用Object.prototype.toString试试
function isNumber(obj) { return Object.prototype.toString.call(obj) === '[object Number]' }
和typeof判断一样,对于NaN也返回true,代码量还大了,这不是想要的结果。toString.call方式判断数组(Array)可行,数字则力不从心了。

