关于isNaN()和parseInt()

关于isNaN()和parseInt()

课程里面先使用isNaN()判断是不是数字,然后再使用parseInt();

但是isNaN("1234ab")返回的是true,parseInt("1234ab")返回1234;那么使用isNaN()先判断是否合理?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,同学理解的稍微有点偏差;isNaN()应该是等于false时才进行转换的,等于true时说明是非数字,是不能转换为数值的,所以是不合理的,
如下图,123是可以转换为数字的,判断条件是false,控制台输出了123,并没有输入error

http://img1.sycdn.imooc.com//climg/5eead93d08fd7e0303980236.jpg

http://img1.sycdn.imooc.com//climg/5eead9420998907b01730091.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • mahsiaoko 提问者 #1
    不是,我想说的是“1234a”这种形式可以使用parseInt进行转换,但是isNaN返回了true,这样不就造成了误判吗
    2020-06-18 11:10:04
  • 好帮手慕阿园 回复 提问者 mahsiaoko #2
    同学你好, isNaN()函数用于检查其参数是否是非数字值,而1234ab是非数值,所以会返回true;如果返回false,说明是数值,才进行parseInt()转换,所以并没有进行误判 祝学习愉快
    2020-06-18 14:39:11
  • 不愿认输 回复 提问者 mahsiaoko #3
    isNaN() 函数用于检查其参数是否是非数字值。
    2020-08-11 19:55:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师