递归小例子

来源:互联网 发布:c语言字符串指针传递 编辑:程序博客网 时间:2024/06/03 04:44

一个递归的小例子,在函数内部调用函数本身

var box = function(num){        if(num <= 1){            return 1;        }else{            return num * box(num - 1);        }    }    alert(box(4));

输出:24 >>> 4*3*2*1。


假如box函数名字被修改,那么内部的调用函数本身的函数名也需要修改,为了避免修改内部函数修改,可以将内部调用函数本身改为:arguments.callee(调用函数本身)


var box = function(num){        if(num <= 1){            return 1;        }else{            return num * arguments.callee(num - 1);        }    }    alert(box(4));

输出与上面一样:24 >>> 4*3*2*1