使用If和Else的JavaScript循环
为什么下面不能准确记录一个数是否为素数使用If和Else的JavaScript循环,javascript,function,loops,if-statement,Javascript,Function,Loops,If Statement,为什么下面不能准确记录一个数是否为素数 function isPrime2(num) { for(let i = 2; i < num; i++) { if(num % i === 0) { return console.log(false); break; } else{return console.log(true)} } } 函数isPrime2(num){ for(设i=2;i
function isPrime2(num) {
for(let i = 2; i < num; i++) {
if(num % i === 0) {
return console.log(false); break;
} else{return console.log(true)}
}
}
函数isPrime2(num){
for(设i=2;i
isPrime2(33)返回true,即使它是一个素数
如果i=2,那么控制台将记录为true,因为33/2=16.5
但是由于循环没有结束,下一个i值是i=3,
那么,控制台不应该记录为false,然后完全脱离循环,让最终答案为false吗 这里有两个问题 你的逻辑被打破了
函数isPrime2(num){
for(设i=2;i isPrime2(33)
33不是质数。返回控制台。log(false)
不是返回false
的方法。您应该:console.log(false);返回false代码>。无需中断
,因为返回false
将具有相同的效果。与返回控制台.log(true)
相同。尝试console.log(true);返回true代码>。