老师请问一下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回答
你好同学,isNaN方法是判断一个数值是否为NaN,如果是其他类型,那么会先自动把类型转换为数值类型,所以null转换为数值类型为0.
而0并不是NaN,那么使用isNaN返回的就是false 。而同学的代码之所以返回true,是因为变量名的影响。name是window上面的属性,在全局中定义的变量name,会当中窗口的名称,转换为数值为NaN,所以影响了结果。如下换一个变量名即可:
祝学习愉快 ,望采纳。
相似问题