首页 > 编程笔记 > JavaScript笔记

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

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

示例

在下面示例中,使用 arguments.callee 获取匿名函数,然后通过函数的 length 属性获取函数形参个数,最后比较实参个数与形参个数,以检测用户传递的参数是否符合要求。
  1. function f(x,y,z) {
  2. var a = arguments.length(); //获取函数实参的个数
  3. var b = arguments.callee.length; //获取函数形参的个数
  4. if (a != b_ { //如果实参和形参个数不相等,则提示错误信息
  5. throw new Error("传递的参数不匹配");
  6. }else { //如果实参和形参个数相同,则返回它们的和
  7. return x + y + z;
  8. }
  9. }
  10. console.log(f(3,4,5)); //返回值12
arguments.callee 等价于函数名,在上面示例中,arguments.callee 等于 f。

所有教程

优秀文章