【发布时间】:2017-05-20 13:07:29
【问题描述】:
我正在通过阅读一本书来学习 JavaScript。我试图理解功能。我已经按照书上写了一段代码。但我不明白这段代码如何返回值。当我尝试更改函数值时,返回 null。
请任何人帮助我理解else的代码
这是代码
function solution(a){
function search(c, d){
if(c == a) return d;
else if(c > a) return null;
else return search(c + 5, "("+ d + " + 5)") || search(c*3, "("+ d + " * 3 )");
}
return search(1, "1")
}
console.log(solution(13));
它返回这个值(((1 * 3 ) + 5) + 5)
谢谢
【问题讨论】:
-
提出问题时,最好为人们提供一些背景信息。这来自于书Eloquent JavaScript,在处理递归时。其实,你可以在书中找到很好的解释。
-
对于尝试回答的人来说,使用该函数的示例是这样的:“考虑这个谜题:从数字 1 开始,反复加 5 或乘以 3,无限量的可以产生新的数字。你将如何编写一个函数,给定一个数字,尝试找到产生该数字的加法和乘法序列?"
标签: javascript function return