ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript 関数のパラメータ名と値に動的にアクセスするにはどうすればよいですか?

JavaScript 関数のパラメータ名と値に動的にアクセスするにはどうすればよいですか?

DDD
リリース: 2024-12-15 03:47:09
オリジナル
470 人が閲覧しました

How Can I Dynamically Access JavaScript Function Parameter Names and Values?

関数パラメータ情報への動的アクセス

JavaScript では、実行時に関数パラメータの名前と値に動的にアクセスすることが望ましいことがよくあります。この記事では、この機能を実現する方法について説明します。

パラメータ名の取得

任意の関数のパラメータ名の配列を取得するには、次の関数を使用できます。

var getParamNames = function(func) {
  var fnStr = func.toString().replace(STRIP_COMMENTS, '');
  var result = fnStr.slice(fnStr.indexOf('(')+1, fnStr.indexOf(')')).match(ARGUMENT_NAMES);
  if(result === null)
     result = [];
  return result;
};
ログイン後にコピー

この関数はコメントを置換し、正規表現を使用してパラメータ名を照合します。例:

getParamNames(getParamNames) // returns ['func']
getParamNames(function (a,b,c,d){}) // returns ['a','b','c','d']
ログイン後にコピー

パラメータ値の取得

パラメータ名に加えて、引数オブジェクトを使用して関数自体内のパラメータ値にアクセスできます。

var args = Array.slice(arguments);
ログイン後にコピー

これにより、すべての関数の値を含む配列が作成されます。 parameters.

使用例

任意の数のパラメータを取る次の関数を考えてみましょう:

function doSomething() {
  // Fill an array with parameter names and values
  var paramNames = getParamNames(doSomething);
  var paramValues = Array.slice(arguments);
}
ログイン後にコピー

関数内の getParamNames 関数はパラメータ名を取得するために使用され、Array.slice(arguments) はパラメータを取得するために使用されます。

考慮事項

  • デフォルトのパラメータにより、getParamNames 関数が予期しない結果を返す可能性があります。
  • 引数オブジェクトは実際の配列ではありませんですが、1つに変換できます。

以上がJavaScript 関数のパラメータ名と値に動的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート