isNaN(false)不是true吗?false本来就不是数字?null也是,怎么输出结果都不一样

isNaN(false)不是true吗?false本来就不是数字?null也是,怎么输出结果都不一样

正在回答 回答被采纳积分+1

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

2回答
好帮手慕糖 2020-02-26 17:53:17

同学你好,isNaN() 函数用于检查其参数是否是非数字值。如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。

但是,若参数不是Number类型,isNaN()会首先尝试将这个参数转换为数值,然后才会对转换后的结果是否是NaN进行判断。而null转换0,所以会是false。

如果我的回答帮助了你,欢迎采纳,祝学习愉快~


好帮手慕糖 2020-02-26 14:10:10

同学你好,关于你的问题,回答如下:

1、如下,第一个操作数为真,就直接返回第一个操作数。否则就返回第二个

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

2、而第一个操作数是“null”是个字符串(就跟我们写的其他字符串“abc”是一样的),而不是关键字null,字符串是为真的,所以直接返回了第一个操作数。

"null"||isNaN(false)

3、如下,isNaN(null)中,使用的是关键字null,所以为假,返回了第二个操作数。

isNaN(null)||[]

如果我的回答帮助了你,欢迎采纳,祝学习愉快~

  • 提问者 大白前端 #1
    关键字Null不是也不是数字吗?那不就是NaA吗?那 isNaN(null)不是应该是true吗?
    2020-02-26 14:56:33
  • 提问者 大白前端 #2
    关键字Null不是也不是数字吗?那不就是NaN吗?那 isNaN(null)不是应该是true吗?
    2020-02-26 14:57:07
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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