函数参数访问简介
动态检索函数参数名称和值对于优化代码来说是一项很有价值的技术。本文探讨了在各种 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; }
获取函数参数值
除了参数名称之外,您还可以使用函数中的arguments 对象访问参数值。该对象包含传递给函数的所有参数的列表。
使用示例
要检索参数名称和值:
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中文网其他相关文章!