JavaScript获取函数参数名称

在webhak.com浏览时看到一个可以通过javaScript获取函数参数名称的方法,觉得它用正则很巧妙,阅读了下,先记下,说不定日后有用。

function getArgs(func){
		//匹配函数括号里的参数
		var args=func.toString().match(/function\s.*?\(([^)]*)\)/)[1];

		//分解参数成数组
		return args.split(",").map(function (arg){
			//去空格和内联注释
			return arg.replace(/\/\*.*\*\//,"").trim();
		}).filter(function(args) {
			//确保没有undefineds
			return args;
		});
	}

有了这个方法,我们可以写一个测试函数来测试下。


function test(agr1,arg2,arg3){
		//这里是注释
		/*这里也是注释*/
	}
	console.log(getArgs(test));

最后输出的是:["agr1", "arg2", "arg3"] 。 正则确实一个很强大的工具,我觉得是一个前端应该掌握的知识点,以后要多学习学习。


你可能感兴趣的:(JS)