关于typeof num=='number' 返回的类型

关于typeof num=='number' 返回的类型

老师,这道题这里有些问题,不太明白为什么返回的是number

typeof num=='number';这里的'number'不是一个字符串吗?那么,不是把这个字符串赋值给num,那么,最后检测的结果不是 typeof 'number',那么结果不是string,怎么是number呢?

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

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

1回答
好帮手慕夭夭 2020-10-12 10:51:31

同学你好,'number'是一个字符串,因为输出的number类型也是一个字符串。可能同学不太明白,看如下例子理解:

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

当输出一个数字类型的时候,控制台会看到输出的是number,而输出的这个内容它是字符串类型的。也就是说,输出的变量a它是number类型,而输出的这个number它的类型是一个字符串。

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

可以检测一下:

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

返回的类型是字符串:

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

同学可以按照老师上面所讲,自己也动手测试一下,能帮助自己理解。

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

  • 提问者 怒焰狂暴 #1
    明白了,我把这段看成了typeof (num=="number")这样,感觉一脸懵逼,原来是先看typeof num返回的类型,然后和右边的''number''对比,谢谢
    2020-10-12 11:35:45
  • 提问者 怒焰狂暴 #2
    var str='imooc521';var num=parseInt(str);返回的值是NaN,然后复制给num, 题目里typeof num == ''number'';是先检测typeof num返回的类型就是''number'',因为NaN它是一个特殊的数字类型,所以和右边的''number''相等,所以最后弹出的结果是''number'',我这样理解有没错?
    2020-10-12 11:40:59
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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