【发布时间】:2016-10-29 15:52:07
【问题描述】:
制作一个函数,但无法理解如何在 switch case 中进行比较,因此 NaN === case 为真并返回“输入数字为 Number.NaN”;
function whatNumberIsIt(n){
var str;
switch (n) {
case Number.MAX_VALUE : str = "Input number is Number.MAX_VALUE";
break;
case Number.MIN_VALUE : str = "Input number is Number.MIN_VALUE";
break;
case Number.NaN : str = "Input number is Number.NaN";
break;
case -Infinity : str = "Input number is Number.NEGATIVE_INFINITY";
break;
case Infinity : str = "Input number is Number.POSITIVE_INFINITY";
break;
default : str = "Input number is " + n;
}
return str;
}
whatNumberIsIt(NaN)
【问题讨论】:
-
您可以在默认情况下插入支票。使用
isNaN(),如果它是NaN,您可以显示不同的字符串。 -
@Teemu 谢谢,也试过这个,但还是不行(@MohitBhardwaj 在这种情况下,除了 max_value、min_value、infinity 和 nan 等其他情况,我需要我的默认情况。跨度>
-
@Teemu 你可以运行一个函数,你会看到在你的情况下(case !+n : str = 'Input number is NaN'; break;)它不会去做并返回默认情况。
-
NaN == NaN是false所以你不能使用 switch 来检查一个值是否是NaN -
@OleksandrBuchek 确实,我的错。删除了 cmets。
标签: javascript types nan