function f(num){
if(num<=1){
return 1;
}else{
return num * f(num-1);
}
}
这是一个典型的递归阶乘函数。虽然这个函数表面看起来没什么问题,但下面的代码却可能导致它出错。
function f(num){
if(num<=1){
return 1;
}else{
return num * f(num-1);
// return num * arguments.callee(num-1);
}
}
let f1 = f;
f = null;
console.log('阶乘',f1(3));//报错