为什么我在下面的函数中没有定义isPrime(2)?就好像对isPrime(2)跳过了var result;
之后的整个if语句,但对其他输入则没有跳过。我不明白为什么会这样。
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为假。