// 递归
function demo (num){
if(num <= 1){
return num
}
return num * demo(num - 1);
}
var a = demo();
demo = null;
alert(a(2)) //报错 因为 在执行的时候这个已经不是函数了
function demo1(num){
if(num <= 1){
return num
}
return num * arguments.callee(num - 1); //指针指向正在执行的函数
}
var dmeo2 = (function f(num) {
if (num <= 1) {
return num;
} else {
console.log('=---')
return num * f(num - 1);
}
})