• JS获取参数个数(包括形参和实参)

    使用 JS arguments 对象的 length 属性可以获取函数的实参个数。arguments 对象只能在函数体内可见,因此 arguments.length 也只能在函数体内使用。

    使用函数对象的 length 属性可以获取函数的形参个数。该属性为只读属性,在函数体内、体外都可以使用。

    示例

    下面示例设计一个 checkArg() 函数,用来检测一个函数的形参和实参是否一致,如果不一致则抛出异常。

    function checkArg(a) {  //检测函数实参与形参是否一致
        if (a.length != a.callee.length)  //如果实参与形参个数不同,则抛出错误
        throw new Error("实参和形参不一致");
    }
    function f(a, b) {  //求两个数的平均值
        checkArg(arguments);   //根据arguments来检测函数实参和形参是否一致
        return ((a * 1 ? a : 0) + (b * 1 ? b : 0)) / 2;  //返回平均值
    }
    console.log(f(6));  //抛出异常。调用函数f,传入一个参数

    温馨提示:读者可以转到 arguments.callee 了解第 2 行代码中 callee 的用法。

更多...

加载中...