美文网首页
14.arguments的callee问题和caller

14.arguments的callee问题和caller

作者: Sune小叶子 | 来源:发表于2018-02-16 16:44 被阅读0次

function  test(){

    console.log(arguments.callee == test)      //true

}

arguments的callee函数指向函数本身的引用,例如在使用立即执行函数做初始化的时候,我们无法直接通过函数名来找到函数本身,那么我们可以用callee来找到函数本身.


var init = (function(n){    

    if(n == 1){

    return 1;

    }

    return n * arguments.callee(n - 1);

}(100));


arguments本身只有callee和length属性

function test(){

    arguments.callee     //test本身

    function demo(){

        arguments.callee     //demo本身

    }

}


caller不是arguments的属性,而是指向函数执行的那个环境

function test(){

    function demo(){

            demo.caller        //指向它运行的环境,test

    }

}

test()


在ES5的严格模式下 ,  "use  strict"下面caller和callee不允许使用


相关文章

  • 14.arguments的callee问题和caller

    function test(){ console.log(arguments.callee == test) ...

  • 常用但易忘的一些知识点

    递归调用arguments.callee(); caller和callee:arguments.callee返回当...

  • callee和caller

    callee 属于arguments的一个属性,是一个指针,指向拥有arguments对象的函数,在函数内部,ar...

  • callee和caller

    callee和caller这两个属性在命名上非常相似,总是后搞混,现在梳理一下。callee是arguments的...

  • callee和caller

    arguments是个类数组对象,用来保存传入函数中的所有参数,也就是实参对象 arguments对象有个属性叫c...

  • caller和callee

    关键词caller :返回一个函数的引用,这个函数调用了当前的函数callee:返回正在执行的函数本身的引用,它是...

  • caller和callee

    这两天在查阅资料的时候发现了一些之前没见过的小内容 1.caller 这个方法一般来说用的很少,就简单的介绍一下 ...

  • caller和callee

    caller返回调用当前函数的引用,如果是函数自身调用,则返回null,callee返回正在被执行函数的引用,即返...

  • vue cli3 babel7 配置 移除严格模式插件

    报错信息: Uncaught TypeError: 'caller', 'callee', and 'argume...

  • JavaScript中的callee, caller, call

    2018/08/29 21:39 callee, caller, call 1. callee 在函数内部,有两个...

网友评论

      本文标题:14.arguments的callee问题和caller

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