javascript 获取函数形参个数

时间:2021-09-29 14:19:12
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
 * 获取函数的形参个数
 * @param {Function} func [要获取的函数]
 * @return {*}       [形参的数组或undefind]
 */
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;
    }
  }
}