查找函数参数名称

Posted codeing or artist ?

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找函数参数名称相关的知识,希望对你有一定的参考价值。

function argumentNames(fn){
       //查找参数列表
       var found = /^[\s\(]*function[^(]*\(\s*([^)]*?)\s*\)/.exec(fn.toString());
       //分隔参数列表
       return found && found[1] ? found[1].split(/,\s*/) : [];
};

alert(argumentNames(function(){}).length === 0);
alert(argumentNames(function(x){})[0] === ‘x‘);

var results = argumentNames(function(a,b,c,d,e){});
alert(results[0] == ‘a‘ &&
       results[1] == ‘b‘ &&
       results[2] == ‘c‘ &&
       results[3] == ‘d‘ &&
       results[4] == ‘e‘);

该函数只有几行代码,却使用了很多javascript的高级特性。首先,该函数反编译了传入的函数,并使用正则表达式,将这些参数从逗号分隔的参数列表中抽取出来。

 

以上是关于查找函数参数名称的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段8——声明函数

Swift6-函数

在用户定义的函数中使用“查找” - VBA

查找函数名称并计算其 LOC

013.Python之函数嵌套名称空间与作用域闭包函数

如何通过代码设置片段标签?