关于循环语句中的NaN=="number"的疑问?

var str="IMOOC521";

var num=parseInt(str);

if (num==NaN){//NaN与任何值都不相等,包括NaN本身

alert(NaN);

}else if(num==521){

alert(521);

}else if(typeof num=="number"){

alert("number");

}else{

alert("str");

}

我就是问下 Javascript流程控制语句中的1.5节if语句的嵌套, 这里的typeof num=="number",其实就是NaN==NaN吗?可是这里说NaN和任何值不相等啊, 如果说,typeof检测数据类型,那num的数据类型是"特殊数值", 那"number" 这是字符串啊, 这个值怎么相等呢?  ”==“我看了笔记, 只是说比较值是否相等。

丛从绿草
浏览 1832回答 2
2回答

什么鬼_呀你

num的值是NaN,但是类型是number.

CodeManDSH

1、parseInt() 返回的是整数2、typeof 整数   的话返回“number”
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript