微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐