JS arguments.callee属性:获取当前所在的函数

  • 内容
  • 评论
  • 相关

JS arguments 对象有一个 callee 属性,它引用当前 arguments 对象所在的函数。使用该属性可以在函数体内调用函数自身。在匿名函数中,callee 属性比较有用。例如,利用它可以设计递归调用。

示例

在下面示例中,使用 arguments.callee 获取匿名函数,然后通过函数的 length 属性获取函数形参个数,最后比较实参个数与形参个数,以检测用户传递的参数是否符合要求。

function f(x,y,z) {
    var a = arguments.length();  //获取函数实参的个数
    var b = arguments.callee.length;  //获取函数形参的个数
    if (a != b_ {  //如果实参和形参个数不相等,则提示错误信息
        throw new Error("传递的参数不匹配");
    }else {  //如果实参和形参个数相同,则返回它们的和
        return x + y + z; 
    }
}
console.log(f(3,4,5));  //返回值12

arguments.callee 等价于函数名,在上面示例中,arguments.callee 等于 f。

本文标题:JS arguments.callee属性:获取当前所在的函数

本文地址:http://www.hosteonscn.com/6909.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注