我搜索了这个答案,但我找不到解释。我知道这个答案可能很愚蠢,但我只需要澄清以下功能的工作原理。 如果我输入isPrime(2)我明白它返回true是因为它是素数,但我不明白的是如何。既然isPrime(2)将是2%2 === 0不应该返回false?
function isPrime(value) {
for(var i = 2; i < value; i++) {
if(value % i === 0) {
return false;
}
}
return value > 1;
}
答案 0 :(得分:2)
当你将这个'2'传递给你的函数isPrime(2)时,这不会进行for循环,因为循环中的条件不满足,它会经历'返回值&gt; 1',这是一个条件运算符'&gt;'如果condition为true则返回true,否则返回false。所以当你传递2时,它会返回'true',因为(2> 1)。
选中此MDN
干杯