资讯专栏INFORMATION COLUMN

caller(谁调我)、callee(我是谁)

asoren / 3453人阅读

摘要:简单的说就是谁打电话给我,谁在调用我。简单的说就是接电话的人,就是正在执行的函数。是的属性是的属性测试的测试的返回函数提示在严格模式下,会报错,因为它已经被废除了。

caller,英文:来访者。 简单的说就是谁打电话给我,谁在调用我。

callee,英文:被访者。简单的说就是接电话的人,就是正在执行的函数。

caller是Function的属性
callee是argument的属性

测试caller的demo

function callerDemo() {
    if (callerDemo.caller) {
        var a = callerDemo.caller.toString();
        alert(a);
    } else {
        alert("this is a top function");
    }
}
function handleCaller() {
    callerDemo();
}
handleCaller();  //"function handleCaller() { callerDemo();}"

测试callee的demo

function calleeDemo() {
    alert(arguments.callee);
}
calleeDemo();//返回函数function calleeDemo() { alert(arguments.callee);}
ES5 提示: 在严格模式下,arguments.callee 会报错 TypeError,因为它已经被废除了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/80902.html

相关文章

  • javascript关于this 以及this的显示设置(apply、call、bind)

    摘要:如果连续呢结果会是什么结果还是第一个原因是,在中,多次是无效的。更深层次的原因,的实现,相当于使用函数在内部包了一个,第二次相当于再包住第一次故第二次以后的是无法生效的。 this 1.其实js中的this没那么难理解,当找不到this时记住一句话:谁调我,我就指谁!new 谁指谁 function text1(){ console.log(this); //指wind...

    LiveVideoStack 评论0 收藏0
  • js函数探索

    摘要:关于构造函数有几点需要特别注意构造函数允许在运行时动态的创建并编译函数。而函数本身的表示该函数的形参。每一个函数都包含不同的原型对象,当将函数用作构造函数的时候,新创建的对象会从原型对象上继承属性。 该文章以收录: 《JavaScript深入探索之路》 前言 函数是这样的一段JavaScript代码,它只定义一次,但是可能被执行或调用任意次。你可能已经从诸如子例程或者过程这些名字里...

    thursday 评论0 收藏0
  • 谈谈javascript的Function中那些隐藏的属性/方法:caller/callee/app

    摘要:在全局环境中调用函数是不会生成此属性,因为不符合此属性的存在意义价值见上条。函数递归时用起来比用函数名调用函数更带感方法这俩方法性质一样,只是用法稍有不同,因此放在一起来介绍。 javascript的Function中有不少不那么常用,又或者用了也是知其然而不知其所以然的属性/方法,本文就来谈谈这一系列属性/方法:caller/callee/apply/call/bind。 call...

    shery 评论0 收藏0
  • function应用技巧

    摘要:四函数的属性函数的属性列表这个属性先略过上述的属性都可以通过函数名属性来引用,是形参的个数。如果是函数表达式的话,是空串。看代码注意严格模式下不能访问对象的属性 一、new function的用法 1.用法一 此种用法的跟使用{}的区别是:它比较灵活,可以在内部定义变量、函数等 var obj = new function(){ var a = 1; var b = 2;...

    Cruise_Chan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<