zoukankan      html  css  js  c++  java
  • JS中callee与caller的区别

    先从英语的角度来看看这两个词。callee是“被调用者,被调用函数”的意思;caller是“访客、调用方”的意思。

    其实JavaScript里也正如此意,通俗点讲就是:callee是你在调用哪个函数;caller是哪个函数在调用你。

    举个例子大家就明白了:

    1. callee

    1  (function b(){
    2     alert(arguments.callee);
    3  })();
    arguments.callee就是问参数在调用哪个函数,该参数就在b函数中,所以alert出来的肯定就是b函数本身了。

    2. caller
    1 (function a(){
    2        b();
    3 })();
    4 
    5 function b(){
    6        alert(b.caller);
    7 };
    alert(b.caller)是指哪个函数在调用b函数,显然是a函数。那么alert出来应该是a函数本身。


    那么这个时候再来理解概念:

      callee是返回正在被执行的function函数,也就是所指定的function对象的正文。

         caller是返回一个对函数的引用,该函数调用了当前函数;


  • 相关阅读:
    关于PHP引用(符号&)的用法
    inline元素相关
    内联元素的margin属性
    chrome 开发者工具使用详情
    闭包 by 5wilon
    容易失忆的css
    题目:吃西瓜
    题目:装箱问题
    题目:最小乘车费用
    题目:竞赛真理
  • 原文地址:https://www.cnblogs.com/realcare/p/6027264.html
Copyright © 2011-2022 走看看