递归:在函数内部调用自身这个函数
特点:默认是个死循环,使用不当会造成内存泄漏
内存泄漏:内存空间被占满,无法储存新数据
解决方案:提前声明一个值,然后判断后结束进程
var i=0;
function say(){
console.log('1');
// 打印一次记录一次
i++
// 判断是否为3
if(i==3){
return i
}
// 递归自调用
say();
}
say();
如何获取里面i的值呢?
当我直接写return i的时候他是显示undfined的
因为这个函数递归的结构为
我们要做到让他再把数值传上来
所以代码可写为
var i=0;
function say(){
console.log('1');
// 打印一次记录一次
i++
// 判断是否为3
if(i==3){
return i
}
// 递归自调用
return say();
}
console.log(say())