第一个功能
function isPrime(num){ if(num< 2)返回false; for(var i = 2; i< i + ++){ 如果(NUM%I == 0){ 返回false; }其他{ 返回true; …
第一次迭代后,第一次将停止,因为 else 声明。 return 打破了循环。它只会测试你给出的数字是偶数还是奇数 num%2 == 0 。
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))