什么是递归?一个函数的内部调用自身
function say(){
console.log("~~~~~~~~")
say()
}
say()
递归存在的问题:会存在内存泄漏
整个函数会一直执行,会陷入一个死循环。当运行到一定程度上会自动退出(内存泄漏)
如何使用递归?
必须要有边界条件,结合return
var a = 0
function say() {
a++
console.log("~~~~~~~~")
if (a == 3) {
return 3
}
return say()
}
say()
如果边界条件有返回值,则需要return say() 才可以层层传递直到最上级,才可以拿到返回值。