Javascript 怎样;你一生中最困难的问题

Javascript 怎样;你一生中最困难的问题,javascript,Javascript,函数阶乘2(n){ 对于(product=1;n>product;product++){ 乘积*=n; } 退货产品; } 因子2(4)如果将4传递给它,则在第一次迭代时返回5。通常,对于任何n>1,它返回n+1 按照代码路径,它可以展开为 product = 1 n > product // true, loop product *= n // so product is n product++ // end of loop, product is n+1 n > product

函数阶乘2(n){
对于(product=1;n>product;product++){
乘积*=n;
}
退货产品;
}

因子2(4)如果将4传递给它,则在第一次迭代时返回5。通常,对于任何n>1,它返回
n+1

按照代码路径,它可以展开为

product = 1
n > product // true, loop
product *= n // so product is n
product++ // end of loop, product is n+1
n > product // false, exit loop

return product

如果
n===1
,则第一个检查为false,因此它只返回1。

如果需要迭代阶乘函数,则需要分离step(
step
)变量和累加器(
产品

函数阶乘运算(n){
设乘积=1;
对于(让步骤=1;步骤
log(`${i}=>${factorialIterative(i)}');

.as控制台包装{top:0;最大高度:100%!重要;}
好的,我假设代码被破坏了,但应该在第一次迭代时停止。您给函数提供了什么输入?您是否尝试过使用调试器跟踪函数?或者添加了
控制台.log
语句?…您使用了与循环计数器相同的变量,并在主体中对其进行了修改。这肯定会让您感到“奇怪”结果。结果完全正确,但很可能是您不想要的。选择问题标题时,请选择一个总结问题的标题。问题标题不应是有趣的神秘框。只需指定-对于肯定的
n>1
。对于
n谢谢,已修订