JS 判断是否有值

这种情况出现在type=number的输入框上,当输入框未输入值时,取到的value为’'即空字符串或者是undefined,有值的情况下,为任意数字,包括0。这种情况不能单纯的使用!!value去判断,因为0也是我们需要的值。
经过我多次测试,我发现只有parseFloat这个api不会把’'、false、null进行隐式类型转换。
最终通isNaN(parseFloat(value))的形式,判断是否有值。

isNaN(parseFloat(value))

在这里插入图片描述

parseFloat

语法

parseFloat(string)

参数

string
需要被解析成为浮点数的值。

返回值

给定值被解析成浮点数。如果给定值不能被转换成数值,则会返回 NaN。

描述

parseFloat 是个全局函数,不属于任何对象。

如果 parseFloat 在解析过程中遇到了正号(+)、负号(- U+002D HYPHEN-MINUS)、数字(0-9)、小数点(.)、或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。
第二个小数点的出现也会使解析停止(在这之前的字符都会被解析)。
参数首位和末位的空白符会被忽略。
如果参数字符串的第一个字符不能被解析成为数字,则 parseFloat 返回 NaN。
parseFloat 也可以解析并返回 Infinity。
parseFloat 解析 BigInt 为 Numbers, 丢失精度。因为末位 n 字符被丢弃。
考虑使用 Number(value) 进行更严谨的解析,只要参数带有无效字符就会被转换为 NaN 。

parseFloat 也可以转换一个已经定义了 toString 或者 valueOf 方法的对象,它返回的值和在调用该方法的结果上调用 parseFloat 值相同。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值