【发布时间】:2021-10-26 11:50:02
【问题描述】:
为什么我在下面的函数中未定义 isPrime(2)?
就好像在 var result; 之后的整个 if 语句被跳过了 isPrime(2) 而不是其他输入。我不明白为什么会这样。
function isPrime(num) {
if (typeof num !== "number") {
throw "The input needs to be a number!";
}
var result;
if (num <= 1) {
result = false;
} else {
for (i = 2; i < num; i++) {
if (num % i === 0) {
result = false;
break;
} else {
result = true;
}
}
}
return result;
}
【问题讨论】:
-
只改变for循环I中的条件
-
谢谢。但这会使 2 成为合数(不是素数),这是不正确的。我只是改变了'var result = true;'反而。这应该可以解决问题。
-
今天你将学到的最好的东西是学习如何使用浏览器的调试工具。您本可以逐行遍历您的...
标签: javascript for-loop undefined