zoukankan      html  css  js  c++  java
  • javascript caller callee的使用

    上网的时候经常看到这俩个属性,一直也没有看下是干什么用的,今天正好看了下文章,了解了下并做个记录..

    1、caller

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

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

    caller是Function对象的一个属性,从结果可以看出它返回一个调用当前函数的函数的源代码

    2、callee

    返回正被执行的函数的源代码

    callee是arguments的一个属性,同时它拥有length属性,用于验证参数个数是否相等

    function calleeDemo() {
              alert(arguments.callee);
          }
    function calleeLengthDemo(arg1, args, arg3) {
              if (arguments.length == arguments.callee.length) {
                  alert("形参和实参个数相等!");
              } else {
                  alert("实参长度:" + arguments.length);
                  alert("形参长度:" + arguments.callee.length);
              }
    }

  • 相关阅读:
    某个周六加班日的划水记
    如何保证消息的可靠性传输
    PHP面向对象学习六 多态
    PHP面向对象学习五 类中接口的应用
    PHP面向对象学习四 类的关键字
    PHP面向对象学习三 类的抽象方法和类
    PHP面向对象学习二
    PHP面向对象学习一
    高级ql
    mysql 方法
  • 原文地址:https://www.cnblogs.com/ygm125/p/2025603.html
Copyright © 2011-2022 走看看