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;
}
}
}
|