老师请问一下null的判别问题

来源:3-11 编程练习

Rockets总冠军

2019-06-04 12:10:41

老师您好,在使用isNaN对null进行判断的时候,我的结果是ture,为什么我看问答里有同学是false,且老师解释原因是先转化为0,再进行判断呀?那是我的错了吗?

我的代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>数据类型之NaN</title>
</head>
<body>
    <script>
        //补充代码
        var name=null,age=10,intro="我是字符串",date="10",sex;
        console.log(isNaN(name));
        console.log(isNaN(age));
        console.log(isNaN(intro));
        console.log(isNaN(date));
        console.log(isNaN(sex));
    </script>
</body>
</html>

写回答

1回答

好帮手慕夭夭

2019-06-04

你好同学,isNaN方法是判断一个数值是否为NaN,如果是其他类型,那么会先自动把类型转换为数值类型,所以null转换为数值类型为0.

而0并不是NaN,那么使用isNaN返回的就是false 。而同学的代码之所以返回true,是因为变量名的影响。name是window上面的属性,在全局中定义的变量name,会当中窗口的名称,转换为数值为NaN,所以影响了结果。如下换一个变量名即可:

http://img.mukewang.com/climg/5cf619a70001bf4006120087.jpg

祝学习愉快 ,望采纳。

0
hockets总冠军
h 懂了,谢谢老师!
h019-06-04
共1条回复

0 学习 · 40143 问题

查看课程