美文网首页
arguments.callee 的使用

arguments.callee 的使用

作者: 取个帅气的名字真好 | 来源:发表于2018-10-15 20:02 被阅读7次

    先阅读以下递归代码

    function fn(num){
        if(num <= 1){
            return 1;
        }else{
            return num * fn(num - 1)
        }
    }
    var b = fn
    fn = null
    
    b(4) // 报错
    

    通过arguments.callee代替函数名

    function fn(num){
        if(num <= 1){
            return 1;
        }else{
            return num * arguments.callee(num - 1)
        }
    }
    var b = fn
    fn = null
    b(4) //24
    

    来看看打印出arguments.callee是怎样的 ?

    function fun() {
        console.log(arguments.callee);
    }
    fun();
    //VM52:2 ƒ fun() {
    //  console.log(arguments.callee);
    //}
    

    相关文章

      网友评论

          本文标题:arguments.callee 的使用

          本文链接:https://www.haomeiwen.com/subject/zcjqzftx.html