自己直接或间接调用自己本身 --函数调用发生在栈中
let a = 0;
function fun() {
console.log(++a);
fun();
}
fun();
优点:代码简洁 容易验证
缺点:要进行多次的调用,层数深的话会增加额外的栈处理,占用内存。递归次数太多的话,也会造成栈溢出
注意:跟循环比较像;递归有终止条件;可类比房子迷宫
(循环得特点是:速度快,结构简单,但是不能解决所有问题)
本文探讨了递归函数的使用,如代码简洁性与验证容易,但也指出其潜在问题,包括栈处理开销和可能导致的栈溢出。递归类似于循环,但必须有明确的终止条件。递归在解决特定问题时有其优势,但在处理大量调用时需要注意内存占用和效率问题。
自己直接或间接调用自己本身 --函数调用发生在栈中
let a = 0;
function fun() {
console.log(++a);
fun();
}
fun();
优点:代码简洁 容易验证
缺点:要进行多次的调用,层数深的话会增加额外的栈处理,占用内存。递归次数太多的话,也会造成栈溢出
注意:跟循环比较像;递归有终止条件;可类比房子迷宫
(循环得特点是:速度快,结构简单,但是不能解决所有问题)
292

被折叠的 条评论
为什么被折叠?