比如trueFactorial(4)这种写法为什么可行呢?变量难道也可以有自己的参数吗?function factorial(num){            if (num <= 1) {                return 1;            } else {                return num * arguments.callee(num-1)            }        }        var trueFactorial = factorial;                factorial = function(){            return 0;        };                alert(trueFactorial(4));   //120        alert(factorial(5));       //0
                    
                    
                1 回答
 
                    
                    
                            临摹微笑
                            
                                
                            
                        
                        
                                                
                    TA贡献1982条经验 获得超2个赞
不要以其他语言的思路来看js。
在js里函数跟其他所谓变量没有什么区别。
代码中var trueFactorial = factorial; factorial是一个函数,赋值给trueFactorial,也就是个函数了。
添加回答
举报
0/150
	提交
		取消
	