我是靠谱客的博主 害怕电话,最近开发中收集的这篇文章主要介绍JS的isNaN()函数 (数字转化),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、isNaN() 函数其实并不能像它的描述中所写的那样,数字值返回 false,其他返回 true。

实际上,它是判断一个值能否被 Number() 合法地转化成数字。

这中间有什么区别呢,主要提现在一些特别的情况如下:

  •  1、数字形式的字符串。例如 "123"、"-3.14",虽然是字符串型,但被 isNaN() 判为数,返回 false。("12,345,678","1.2.3" 这些返回 true)
  •  2、空值。null、空字符串""、空数组[],都可被Number()合法的转为0,于是被isNaN认为是数,返回false。(undefined、空对象{}、空函数等无法转数字,返回true)
  •  3、布尔值。Number(true)=1,Number(false)=0,所以isNaN对布尔值也返回false。
  •  4、长度为 1 的数组。结果取决于其中元素,即:isNaN([a])=isNaN(a),可递归。例如isNaN([["1.5"]])=false。
  •  5、数字特殊形式。例如"0xabc"、"2.5e+7",这样的十六进制和科学计数法,即使是字符串也能转数字,所以也返回false。

如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。

2、parseFloat

该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。

注意: 字符串中只返回第一个数字。

注意: 开头和结尾的空格是允许的,但空字符串空格字符串是不能转数字的。

注意: 如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。

注意: 首字符开始解析遇到不能转数字就结束,返回,注意类似,'1.2.3'会被转成1.2。

最后

以上就是害怕电话为你收集整理的JS的isNaN()函数 (数字转化)的全部内容,希望文章能够帮你解决JS的isNaN()函数 (数字转化)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部