5.5.4 arguments

虽然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函数内部属性

原文地址:https://www.cnblogs.com/lfhphp/p/14450238.html