经测试代码如下:
/**
* 获取函数的形参个数
* @param {Function} func [要获取的函数]
* @return {*} [形参的数组或undefind]
*
* @param
* @arrange (512.笔记) jb51.cc
**/
function getFuncParameters(func) {
if (typeof func == 'function') {
var mathes = /[^(]+\(([^)]*)?\)/gm.exec(Function.prototype.toString.call(func));
if (mathes[1]) {
var args = mathes[1].replace(/[^,\w]*/g,'').split(',');
return args;
}
}
}
原文链接:https://www.f2er.com/js/527734.html