1,1,2,3,5,8,13,21,34,55,89...求第 n 项
JS 递归 假如楼梯有 n 个台阶,每次可以走 1 个或 2 个台阶,请问走完这 n 个台阶有几种走法
原理: clone(o) = new Object返回一个对象
1、很多时候可以用递归代替循环,可以理解为递归是一种特殊的循环,但通常情况下不推荐这样做。
2、递归一般是在函数里面把函数自己给调用一遍,通过每次调用改变条件,来结束循环。
3、递归在数据格式一致,在数据层级未知的情况下,比普通的遍历更有优势。
4、递归在异步的时候,更容易理解,且更容易实现,因为可以在异步的回调里面,调用自己来实现每次都能拿到异步的结果再进行其他操作。
5、递归实现的快速排序比普通遍历实现的排序效率更好。
其实,这就是一个简单的函数传参例子,我来给你简单讲一下:foo(3)也就是往函数里面传入一个值等于3,也就是i=3
function foo(i) {
if (i <0)//因为i=3了,这个时候3不是小于0,因此会跳到后面去执行,
return//只有当i小于0时,才会输出结果,最终结果就等于0;
console.log('begin:' + i)
foo(i - 1)
console.log('end:' + i)
}