请参阅此代码:
var method = function(service,worker){
//....
}
function getArguments(method){
//what I want is:
//print " the arguments of the method is 'service','worker'"
}
getArguments(method);
如何从变量中获取参数的名称?
我知道method.arguments
在调用方法时不起作用。
答案 0 :(得分:8)
您可以在函数上调用toString
,然后使用正则表达式从函数定义中提取参数列表。这是一个简单的例子:
function getArguments(method){
// strip off comments
var methodStr = method.toString().replace(/\/\*.*?\*\/|\/\/.*?\n/g, '');
var argStr = methodStr.match(/\(([^)]*)\)/);
alert(argStr[1].split(/\s*,\s*/g));
}