注意目录和修改相同的字符编码

声明一个函数,判断传入的参数是否是数字型?

今天参加了一场面试,结果凉凉,唉,知识点漏缺呀,快来看看你是否也会做错?

问题:声明一个函数,判断传入的参数是否是数字型?

 1 function fn(val) {
 2       if (val !== NaN) {
 3         console.log("11");
 4         return false;
 5       } else if (typeof val == "number") {
 6         console.log("22");
 7         return true;
 8       } else {
 9         console.log("33");
10         return false;
11       }
12     }
13 fn(NaN);
我没有考虑NaN的情况,这是知识点的漏洞。
NaN不会等于自身,比较特殊,也就是说当NaN === NaN时,为false,不会执行if中的语句。所以要写成不等于,且是不全等于。
posted @ 2022-02-25 12:27  黑使  阅读(113)  评论(0编辑  收藏  举报