第一个功能
function isPrime(num) {
if(num < 2) return false;
for (var i = 2; i < num; i++) {
if(num%i==0){
return false;
}else{
return true;
}
}
}
第二个功能
function isPrime(num) {
if(num < 2) return false;
for (var i = 2; i < num; i++) {
if(num%i==0)
return false;
}
return true;
}
我真的无法将这段代码束之高阁。
答案 0 :(得分: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))