递归函数的语句执行顺序特点
递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序; 递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反; 这段话什么意思?
递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序; 递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反; 这段话什么意思?
2016-05-18
function num(n,m){
console.log(n);
if(n<m){
num(n+1,m);
console.log(n);
}
}
num(2,5) //2345432
// 1.首先执行num(2,5),就是
// console.log(2); -> num(3,5); -> console.log(2);
//执行num(3,5); 就是是相当于 console.log(3); -> num(4,5); -> console.log(3);
//下面以此类推
// console.log(2); -> console.log(3); -> num(4,5); -> console.log(3); -> console.log(2);
// 然后就是
// console.log(2); -> console.log(3); -> console.log(4); -> num(5,5); -> console.log(4); -> console.log(3); -> console.log(2);
// 最后就是
// console.log(2); -> console.log(3); -> console.log(4); -> console.log(5); -> console.log(4); -> console.log(3); -> console.log(2);
举报