世界上最短的数字是几?能否用JavaScript编写一个简单的判断程序?
- 内容介绍
- 文章标签
- 相关推荐
本文共计557个文字,预计阅读时间需要3分钟。
我们知道JavaScript提供了typeof运算符,但用typeof判断是否是number类型存在局限。以下是一个直接输出结果的函数:
javascriptfunction isNumber(obj) { return typeof obj==='number';}
我们知道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)可行,数字则力不从心了。
本文共计557个文字,预计阅读时间需要3分钟。
我们知道JavaScript提供了typeof运算符,但用typeof判断是否是number类型存在局限。以下是一个直接输出结果的函数:
javascriptfunction isNumber(obj) { return typeof obj==='number';}
我们知道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)可行,数字则力不从心了。

