虽然arguments的主要用途是保存函数参数,但这个对象还有一个名叫“callee”的属性,该属性是一个指针,指向拥有这个arguments对象的函数。
function factorial(num){ if(num <= 1){ return 1 }else{ return num * factorial(num - 1) } } function factorial(num){ if(num <= 1){ return 1 }else{ return num * arguments.callee(num - 1) } }
作用:
消除紧密耦合。
详情:
《JavaScript高级程序设计》5.5.4函数内部属性