巧用JavaScript的callee、caller、apply、call、length、bind等方法。让自己的代码更有扩展性更有维护性
arguments.callee //callee的属性指向拥有这个arguments对象的函数。阶乘例子:消除了函数紧密耦合的现象。function factor(num) { if(num <= 1) { return 1; } else { return num * arguments.callee(num - 1); //arguments.callee == factor } }arguments.caller //保存着调用当前函数的函数的引用另一个函数调用