gpt4 book ai didi

JavaScript - 分解 'For Loop' 理解?

转载 作者:行者123 更新时间:2023-11-29 10:08:16 24 4
gpt4 key购买 nike

我正在完成一些 JavaScript 算法挑战,我不得不对一个数字进行因式分解,作为其中的一部分。在搜索堆栈和其他地方后,我输入了正确的代码块:

function factorialize(num) {

if(num === 0) {
return 1;
}

if(num < 0 ) {
return undefined;
}

for(var i = num; --i; ) {
num *= i;
}
return num;
}

factorialize(5);

它返回正确的结果。然而,我很难理解的是为什么 for 循环没有第二条语句,以及为什么它可以永远运行?我有一个暗示,因为一旦 i 值为 0,生成的任何后续负数都将乘以 0,因此只有整数会形成结果.但是,如果循环仍在运行到 -infinity 并且没有被告知在达到某个值时停止,为什么函数会返回一个有效数字?

最佳答案

for 循环的第二部分是条件:

An expression to be evaluated before each loop iteration. If this expression evaluates to true, statement is executed. This conditional test is optional. If omitted, the condition always evaluates to true. If the expression evaluates to false, execution skips to the first expression following the for construct.

一旦 --i 达到 0,它的计算结果为 false (falsey) 并且 for “退出"

console.log(i) 添加到您的 for 循环将有助于证明这一点

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for

关于JavaScript - 分解 'For Loop' 理解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38740838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com