• 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。

更多...

加载中...