Выполните рекурсивный поиск «для (i в этом)» вашего проекта, и, если объект (i) является функцией, вызовите «test.toString (). Split (« \ n »). Length». Это подсчитывает количество новых строк в функции. Если это не функция, а объект, вызовите эту функцию в этом объекте. Также подсчитайте количество функций, которые вы найдете, и затем разделите общее количество новых строк на общее количество функций, а затем получите среднее значение.
Редактировать
function calculateMethodSize(obj){
var fcount = 0;
var fsize = 0;
for(i in obj){
if(obj[i] instanceof Function){
fcount++;
fsize += obj[i].toString().split(";\n").length;
}else if(obj[i] instanceof Object){
var ret = calculateMethodSize(obj[i]);
fcount += ret.fcount;
fsize += ret.fsize;
}
}
return {fsize:fsize, fcount:fcount};
}
var data = calculateMethodSize(this);
var average = data.fsize / data.fcount;
Будьте осторожны при запуске этого кода. Если вы запустите его с этим, как я сделал, то вы можете получить переполнение стека (я сделал).