递归
递归说白了就是一个函数
//递归
function fun(num) {
if (num == 1) {
return 123;
}
return fun(num - 1);
}
// fun(100);
console.log(fun(100));
上面这是一个很简单的递归例子,用来理解,就是在函数里面提前判断一个结果值,然后在使用自己的函数,一步一步让上面那个判断成立
递归的优点:
1、代码简洁
2、易于理解
如在树的前/中/后序遍历中,递归的实现明显比循环简单。
递归的缺点:
是重复计算
在方法里做一个if判断,如果参数等于0,那么方法结束,如果参数不等于0,就递减。调用自身,出口是参数等于0.当我输入参数是10的时候,递减到参数是0的时候,递归就结束了。
这样可以让这个函数重复使用,一直到里面的判断成立到结束。
深拷贝的实现方法就是利用的递归或者递归函数