【发布时间】:2019-06-15 02:08:24
【问题描述】:
我想使用递归计算指数。我有下面的代码可以成功执行。
function pow(base, exponent) {
if (exponent <= 1){
return base
}
else {
return base * pow(base, exponent-1)
}
}
// console.log(pow(3, 5)); // -> answer is 243
我想在这里理解 else 的情况。在 exponent 的输入参数为 2 或更高时的 else 语句中:
return base * pow(base, exponent-1) 的 pow(base, exponent-1) 部分返回什么?它是否等于基础值?
【问题讨论】:
-
使用参数、基数和指数 - 1 调用您的
pow函数,并返回乘以基数的结果 -
fyi,
pow(x,0)返回x但应始终返回1- 您可以通过将基本情况调整为if (exponent === 0) return 1来解决此问题
标签: javascript if-statement recursion input exponent