【发布时间】:2015-05-12 03:06:03
【问题描述】:
在尝试验证 JS 中的数字字符串时遇到了一些麻烦。尤其是 isNaN 似乎行为不端。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>No Quirks!</title>
</head>
<body>
<h1>JavaScript Test</h1>
<button onclick="myNanIsTrue()">Is it a number?</button>
<p id="writeToHTML"></p>
<script type="text/javascript">
function myNanIsTrue() {
var g = parseInt("40000000") + "<br />";
var n = g;
if (isNaN(g)){
g="moo!";
}
n += g + "<br />";
document.getElementById("writeToHTML").innerHTML = n;
}
</script>
</body>
</html>
尝试了几种排列方式,但它似乎不起作用。谁能明白为什么这不起作用?
【问题讨论】:
-
因为
"40000000<br />"不是数字,而是字符串?另一方面,isNaN(parseInt("40000000"))按预期返回false。 -
@h2ooooooo 谢谢。该死的留下标签!
标签: javascript nan parseint