【发布时间】:2020-07-31 13:03:08
【问题描述】:
function pow(x, n) {
if (n == 1) {
return x;
} else {
return x * pow(x, n - 1);
}
}
alert( pow(2, 3) ); // 8
来源 = https://javascript.info/recursion
大家好!我对这个函数的第二个返回语句感到困惑:
return x * pow(x, n - 1);
我只是在寻找对该行为的一些说明或参考。
从我的角度来看,看起来 x 只是乘以函数的第一个参数,而 n-1 被忽略了。
(n-1如何影响结果
对不起,我把原来的问题搞砸了…… 我想问一下javascript如何解释这种乘法。将整数和函数相乘时,我不太明白发生了什么。 javascript如何选择与多个参数相乘的内容?
【问题讨论】:
-
您阅读了该页面的其余部分吗?它非常详细地介绍了正在发生的事情。
-
你说得对,
n没有直接包含在算术运算中,但它确实控制了递归。如果n为3,那么pow将递归3 次(直到n==1)
标签: javascript function recursion operators