繁体   English   中英

If-else条件不适用于Javascript

[英]If-else conditions not working in Javascript

我编写了这段代码,但只有第一个条件有效:

if(document.getElementById('v').value == Infinity) {
    //alert
}
else if(document.getElementById('v').value == -Infinity) {
    //alert
}       
else if(document.getElementById('v').value == undefined) {
    //alert
} 
else if(document.getElementById('v').value == isNaN) {
    //alert
}

为什么其他条件( -InfinityundefinedisNaN )不起作用?

您可以使用throw关键字在Javascript中引发新的异常 (请参见下面的示例)。

isNaN是一个函数

要检查数字的有效性,请使用: Number.NEGATIVE_INFINITYNumber.POSITIVE_INFINITY

换一种说法:

if (typeof document.getElementById('v') === 'undefined' ||
    document.getElementById('v').length === 0)
  throw new TypeError("Undefined value");
else if(parseInt(document.getElementById('v').value, 10) == Number.POSITIVE_INFINITY)
  throw new RangeError("Value is too big");
else if(isNaN(document.getElementById('v').value))
  throw new TypeError("Value must be a valid number");

您可以获取这些异常,例如:

try {
 // call your checkup function here
} catch (exception) {
 alert ("Oh bad... Exception detected: " + exception);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM