【发布时间】:2012-12-19 12:51:48
【问题描述】:
可能重复:
How to get function parameter names/values dynamically from javascript
我目前正在使用 javascript (node.js) 开发一个项目,该项目让我尝试从函数中获取参数 names 数组(不是值,我不需要参数)。我目前正在使用 Function.toString() 获取函数字符串,然后针对该字符串运行正则表达式以获取我的参数列表。
让我们举个简单的例子:
var myFunction = function (paramOne, paramTwo) { ... }
对此运行我的正则表达式,然后执行一些字符串魔术(拆分等),我希望这样的数组返回:
paramList = ['paramOne', 'paramTwo']
我有一些可行的方法,但我觉得它可能不是最好的解决方案,因为 javascript 允许您使用一些时髦的字符作为变量名,并且 javascript 可以让您在多行上定义函数。
这是我目前拥有的:
function.*[\w\s$]*(\((.*[\w\s,$]*)\))
这给了我第 1 组中的“匹配”,然后是第 2 组中没有括号的参数列表,这很酷。这真的是做我想做的最好的方法吗?我可以为此使用更好的正则表达式吗?我并不是真的在寻找“更简单”的东西,而只是寻找可以捕捉所有可能情况的东西。
任何帮助将不胜感激,并在此先感谢!
【问题讨论】:
标签: javascript regex