関数パラメーター アクセスの概要
関数パラメーターの名前と値を動的に取得することは、コードを最適化するための貴重なテクニックとなります。この記事では、さまざまな JavaScript 環境でこのタスクを実行するための包括的な方法について説明します。
関数パラメータ名の取得
getParamNames 関数は、指定された関数のパラメータ名の配列を返します。 。正規表現を使用して、関数のソース コードからパラメーター名を抽出します。コードは次のとおりです。
var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; var ARGUMENT_NAMES = /([^\s,]+)/g; function getParamNames(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; }
関数パラメータ値の取得
パラメータ名に加えて、関数内の引数オブジェクトを使用してパラメータ値にアクセスすることもできます。このオブジェクトには、関数に渡されるすべてのパラメータのリストが含まれています。
使用例
パラメータ名と値の両方を取得するには:
function doSomething(param1, param2, .... paramN){ // Convert arguments object to an array let argsArray = Array.from(arguments); // Create an array to store parameter data let paramData = []; // Loop through parameters for (let i = 0; i < argsArray.length; i++) { paramData.push({ name: getParamNames(doSomething)[i], value: argsArray[i] }); } // Use the paramData array as needed }
この例では、パラメーター名と値の両方を動的に取得し、関数内でこの情報にアクセスできるようにします。
以上がJavaScript で関数のパラメータ名と値に動的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。