不理解练习题?

不理解练习题?

1
2
3
4
5
6
7
8
9
10
11
var str="IMOOC521";
var num=parseInt(str);
if(num==NaN){
alert(NaN)
}else if(num==521){
alert(521);
}else if(typeof num=="number"){
alert("number")
}else{
alert("str");
}

这句话完全不理解:else if(typeof num=="number")

只有是true的时候才执行对吧,那就是说typeof显示的类型是true??可是num==number"",是比较他们的数值啊,那肯定不相等啊,怎么会返回true呢,而且number也没有定义,到底是啥呢

alert("number")和alert("number") 为何里面要加引号啊?alert的语法???

==语法不是比较值的意思吗?那num=="number"是什么值???没值啊

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

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

4回答
qq_天天_66 2017-07-16 15:46:22

这里有没有没什么影响吧,因为比较运算符用的是等于,只比较内容

Miss路 2017-06-09 14:50:43

1、typeof num=="number"这里带引号是因为number是个字符串,不是个变量。比较的是值,但是这两个值都是字符串。

2、alert("number")是要弹出一个字符串,这个字符串就叫number。

你现在还没有分清什么数据类型,建议自己课下可以查一下关于简单的数据类型,什么是变量等知识。

祝学习愉快!

  • 提问者 OlafChou #1
    你的意思是alert()一定是弹窗一个字符串?
    2017-06-09 21:54:15
  • Miss路 回复 提问者 OlafChou #2
    alert()里面的内容写字符串就会弹出字符串,这里你就是要它弹出字符串,弹出别的变量也行。需要看具体需求,没办法理解也没有关系,等你学到《JavaScript BOM基础》这个课就明白了,这个课里会详细距离讲解。祝学习愉快!
    2017-06-11 15:16:12
  • 提问者 OlafChou #3
    原来就是这个吧:window.alert(message);message是要显示在对话框中的文本字符串,如果传入其他类型的值,会转换成字符串.
    2017-07-17 07:18:55
提问者 OlafChou 2017-06-09 08:49:06

alert("number")和alert("number") 为何里面要加引号啊?alert的语法???

麦麦zzz 2017-06-09 08:40:23

typeof的用法:测试并返回变量值的类型。先执行typeof num,由于num值为NaN,则得出num是number类型,这个时候typeof返回number,然后number=="number",所以true

  • 提问者 OlafChou #1
    对啊,==是比较值,那为何"number"要加引号?
    2017-06-09 08:56:22
  • 麦麦zzz 回复 提问者 OlafChou #2
    返回的number原则上是字符串,加引号的“number”也是字符串,比较字符串相不相等用的也是==,如果还要判断两者的类型用===。
    2017-06-09 20:11:52
  • 提问者 OlafChou 回复 麦麦zzz #3
    谢谢
    2017-06-09 22:03:53
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

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

在线咨询

领取优惠

免费试听

领取大纲

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