老师,我还是有点点疑惑
来源:1-5 if语句的嵌套
豆包侠
2021-12-02 14:48:32
<script>
var str="abc123";
var num=parseInt(str);
if(num==NaN){
//NaN和任何内容都不相等,其中包括其本身
alert(NaN);
}else if(num==123){
alert(123);
}else if(typeof num=="number")
{alert("num");}else{
alert("str");
}
</script>老师课程中提到了NaN和任何都不相等 所以走到了num 那不是应该就直接输出123了吗 就是直接 alert(123)了吗
1回答
好帮手慕星星
2021-12-02
同学你好,理解的不对。
parseInt(str)转化的值为NaN

NaN与NaN不等,与123不等,所以前面两个条件都不符合。检测NaN是数字类型,进入第三个条件,弹出“num”字符串。
祝学习愉快!