老师,我还是有点点疑惑

来源: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

https://img.mukewang.com/climg/61a8702f091b074102740046.jpg

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

祝学习愉快!

0

0 学习 · 40143 问题

查看课程