ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptでメソッド(関数)のパラメータ数を取得する方法

JavaScriptでメソッド(関数)のパラメータ数を取得する方法

青灯夜游
青灯夜游オリジナル
2021-07-19 17:58:455752ブラウズ

JavaScript では、引数オブジェクトの length 属性を使用して、メソッド (関数) のパラメーターの数を取得できます。この属性は、関数の実際のパラメーターの数を取得できます。この属性では、次の length 属性を使用します。関数の形状を取得する関数オブジェクト、パラメータの数。

JavaScriptでメソッド(関数)のパラメータ数を取得する方法

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

Method (メソッド) は、オブジェクトを通じて呼び出される JavaScript 関数です。言い換えれば、メソッドは関数でもあり、単なる特殊関数です。

JavaScript では、引数オブジェクトの length プロパティを使用して、関数の実際のパラメーターの数を取得できます。引数オブジェクトは関数本体内でのみ表示されるため、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 オブジェクトは、関数の実際のパラメーター コレクションを表します。これは関数本体でのみ表示され、直接アクセスできます。

引数オブジェクトの length 属性と callee 属性が最も一般的に使用されます。

  • length 属性を使用して、関数の実際のパラメータの数を取得します。 argument オブジェクトは関数本体内でのみ表示されるため、arguments.length は関数本体内でのみ使用できます。

  • callee 属性を使用して、現在の引数オブ​​ジェクトが配置されている関数を参照します。 callee 属性を使用して、関数本体内で関数自体を呼び出します。匿名関数では、callee 属性が便利です。たとえば、再帰呼び出しの設計に使用できます。

[推奨学習:

JavaScript 上級チュートリアル]

以上がJavaScriptでメソッド(関数)のパラメータ数を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。