所以我得到这个代码从雄辩JS:返回null从雄辩的Javascript
function findSolution(target) {
function find(start, history) {
if (start == target)
return history;
else if (start > target)
return null;
else
return find(start + 5, "(" + history + " + 5)") ||
find(start * 3, "(" + history + " * 3)");
}
return find(1, "1");
}
console.log(findSolution(24));
我的问题是什么空做这个递归?当我们得到的地步:
find(26, history) // start = 26, history = (1+5)+5)+5)+5)+5)
它击中start > tagert
声明其返回空。
接下来会发生什么?
调用者获得一个'null'。如果是递归调用,它将被插入'||'(逻辑或),或者如果它是'findSolution'中的第一个,则整个结果将为'null'。 –