[英]First 100 primes javascript, why do I get undefined after my array of primes?
I get the 100 primes printed, but I also get undefined at the end. 我得到了100个素数,但最后也没有定义。 Why would that be?
为什么会这样呢?
function HundoPrimeNumbers() {
var primes = [];
function isPrime(n) {
if (isNaN(n) || !isFinite(n) || n % 1 || n < 2) return false;
var m = Math.sqrt(n);
for (var i = 2; i <= m; i++) if (n % i == 0) return false;
primes.push(n);
}
var n = 0
while (primes.length < 100) {
isPrime(n);
n++;
}
console.log(primes.join());
}
console.log(HundoPrimeNumbers());
You are logging the result of HundoPrimeNumbers
: 您正在记录
HundoPrimeNumbers
的结果:
console.log(HundoPrimeNumbers());
HundoPrimeNumbers
does not have a return
statement. HundoPrimeNumbers
没有return
语句。 When a function doesn't have a return statement, or returns without a value, like return;
当一个函数没有return语句或没有值的
return;
,例如return;
, it actually ends up returning undefined
. ,实际上最终返回
undefined
。 This then gets logged to the console. 然后将其记录到控制台。
Solution: call it like this: 解决方案:这样称呼它:
HundoPrimeNumbers();
undefined
是console.log()的返回值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.