javascript 获取函数形参个数

/**
 * 获取函数的形参个数
 * @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;
    }
  }
}