首页 > 代码库 > 查找函数参数名称
查找函数参数名称
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的高级特性。首先,该函数反编译了传入的函数,并使用正则表达式,将这些参数从逗号分隔的参数列表中抽取出来。
查找函数参数名称
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。