请问isNaN(null)和isNaN(“ ”)为什么返回false

请问isNaN(null)和isNaN(“ ”)为什么返回false

请问isNaN(null)和isNaN(“   ”)为什么返回false

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

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

3回答
怎么都被占用了呢 2017-11-13 11:52:54

NaN 是非数字值的特殊值,但是它的数据类型还是数值型,使用isNaN判断的时候,也要判断是不是数值型的特殊值,你也说了null和“”明显不是数值型数据,那为什么还要返回true呢

留白未来 2017-11-12 23:47:23

null,"","    ",

这三样会被isNaN()转换成0后再判断.

试验一下,把null,"","    ",undefined,defined,分别用document.write(Number());转换一下.

null,"","    ",都可以转换成0,

而转换undefined的结果是NaN,

转换defined,控制台会报错"Uncaught ReferenceError: defined is not defined"

怎么都被占用了呢 2017-08-04 14:01:08

isNaN() 函数用于检查其参数是否是非数字值(即NaN)。NaN表示一个非法的数字(比如被 0除后得到的结果),它的数据类型还是number。null和“”明显不是数值型数据,故要返回false

  • 提问者 Seattle0 #1
    为什么defined返回true
    2017-08-05 10:51:17
  • 卡布琦诺 回复 提问者 Seattle0 #2
    isNaN() 函数能够将含有不能转换成数字的字符才输出true,defined是不能够转换成数字的,因此返回true,希望可以帮到你!
    2017-08-05 14:43:00
  • null和“”明显不是数值型数据,那应该返回的是true啊?
    2017-11-12 23:41:31
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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