else if(typeof(num)=="number")中的number
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var stri="abc123";
var num=parseInt(stri);
if(num==NaN){
alert(NaN);
}
else if(num==123){
alert(123);
}
else if(typeof(num)=="number"){
alert("num");
}
else{
alert(stri);
}
</script>
</body>
</html>
else if(typeof(num)=="number")中的number为什么要用引号包起来,还有该成Number也报错?
正在回答 回答被采纳积分+1
老师前面讲过typeof返回值的类型只有一种,就是String类型,而它返回值的可能的值有‘string’、‘number’、‘boolean’等等。这里num返回值是NaN,typeof(NaN)返回值是字符串'number','number'=='number'是成立的,结果是true,最终弹出字符串'num'。如果把该句中'number'改为Number,用console.log(typeof(num)==Number)检测结果为false,就是说两边不相等,else if(typeof(num)==Number)这句不成立,执行下一个语句,最终弹出字符串‘str’。
- 参与学习 1887 人
- 提交作业 4643 份
- 解答问题 5760 个
有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星