【发布时间】:2020-08-02 14:21:03
【问题描述】:
为什么要在递归函数的三元运算符前加上return语句才能返回函数输出?
// This dose not work
function rec(n) {
n == 1 ? n : n + rec(n - 1);
}
// This works as return statement is added before ternary operator
function rec(n) {
return n == 1 ? n : n + rec(n - 1);
}
// This works
function rec(n) {
if (n == 1) return 1;
return n + rec(n - 1);
}
【问题讨论】:
-
关于
return,为什么您希望递归函数与非递归函数的工作方式任何不同? -
我的意思是当return是三元运算符的默认值时,为什么我必须额外添加它?
标签: javascript function recursion operator-keyword ternary