[英]JavaScript for loop returning undefined
为什么我在下面的函数中没有为 isPrime(2) 定义? 就好像整个 if 语句紧跟在var result;
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;
}
如果 num 为 2 那么这部分代码将不会被执行
for (i = 2; i < num; i++) {
if (num % i === 0) {
result = false;
break;
} else {
result = true;
}
}
因为 i 最初是 2 而 num 是 2,所以 2 < 2 是假的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.