什么是递归函数
是指函数直接或间接调用自身函数本身,则该函数为递归函数
使用递归函数必须要符合两个条件
1、 自己调用自己
2、必须有一个终止处理或计算的出口,让函数结束调用函数自身
计算一个数的阶乘
function fun1(n){
if(n == 1){
return 1;
}
return (n * fun1(n-1));
}
var num = fun1(4);
console.log(num);
全局变量和局部变量
1.全局变量
定义在函数体外的变量,供全局使用,在函数体内找不到该变量时,会向父级找,父级没有时,会向函数体外找
全局变量
var a = 10;
var b = 12;
function fun1() {
document.write('a+b=', a + b);
}
fun1();
function fun2() {
document.write('a+b=', a + b);
}
fun2();
运行结果
由运行结果可看出,定义在函数体外的变量均可在fun1(),fun2()中使用,说明全局变量可以反复使用执行

局部变量
定义在函数体内的变量,只能在定义的函数内使用;
案列
function fun1(){
var a = 10;
var b = 12;
document.write('a+b=',a+b);
}
fun1();
function fun2(){
document.write('a+b=',a+b);
}
fun2();
运行结果
由执行结果可看出fun1()可正常执行,而fun2()会出现未定义的报错情况,说明在fun1()内定义的变量不能在fun2()内使用
