為什么我在下面的函式中沒有為 isPrime(2) 定義?就好像var result;為 isPrime(2) 而不是為其他輸入跳過了緊隨其后的整個 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;
}
uj5u.com熱心網友回復:
如果 num 為 2 那么這部分代碼將不會被執行
for (i = 2; i < num; i ) {
if (num % i === 0) {
result = false;
break;
} else {
result = true;
}
}
因為 i 最初是 2 而 num 是 2,所以 2 < 2 是假的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/338037.html
標籤:javascript for循环 不明确的
