Первый остановится сразу после первой итерации из-за оператора else
.return
разрывает петлю.Он только проверит, является ли указанное вами число четным или нечетным num%2 == 0
.
Второй остановится только в том случае, если условие проверено (опять же, возврат прерывает цикл) или в конце всехитерации.
В вашем примере только второй дает ожидаемый результат:
function isPrimeA(num) {
if(num < 2) return false;
for (var i = 2; i < num; i++) {
if(num%i==0){
return false;
}else{
return true;
}
}
}
function isPrimeB(num) {
if(num < 2) return false;
for (var i = 2; i < num; i++) {
if(num%i==0)
return false;
}
return true;
}
console.log(isPrimeA(15))
console.log(isPrimeB(15))