我只是不明白问题出在哪里,要求用户插入一个数字并判断它是否是素数,这对我学习 JavaScript 的第二天会有很大帮助。
<!DOCTYPE html>
<html>
<head>
<title>Prime Checker</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
var i; result = true;
var n1 = prompt("Please insert a number, I'll check if it's a prime!" , "");
n1 = Number(n1);
if(isNaN(n1))
{
alert("You didn't insert a number, please check again!");
}
else
{
alert("I will check right now");
}
for(i = 2; i < n1; i++)
{
if(n1 % i == 0)
{
result = false;
break;
}
}
if(result == true)
{
alert(n1 "is a prime");
}
else
{
alert(n1 "is not a prime")
}
</script>
</head>
<body>
</body>
</html>
最佳答案
有一个很棒的工具,叫做 jsfiddle这会有所帮助 - 我还建议使用 Chrome 开发工具或 Firefox 的 Firebug。
Here是一个有效的 JS Fiddle - 你非常接近。问题是你的 JS 甚至没有编译。接近结尾处有几行:
alert(n1 "is not a prime")
应该是
alert(n1 + " is not a prime")
即使 isNan 为 true,你仍然会执行 for 循环。
关于JavaScript,要求用户插入一个数字并判断它是否是素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753554/