[英]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
}
为什么其他条件( -Infinity
, undefined
, isNaN
)不起作用?
您可以使用throw关键字在Javascript中引发新的异常 (请参见下面的示例)。
isNaN是一个函数
要检查数字的有效性,请使用:
Number.NEGATIVE_INFINITY
或Number.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.