我正在查看pace.js的来源,它有一个很长的源代码,大约有一千行。您可以查看来源here。
我需要调试此代码。 JavaScript中是否有任何工具或方法可用于识别给定插件中有多少独特函数?我找到了一种方法:
有更简单的方法吗?
答案 0 :(得分:1)
此方法首先查找window对象中的所有函数。然后将这些函数引用传递给' getInnerFunction()'它将函数与正则表达式进行匹配,以检测任何内部函数。最后返回函数计数。
然而,它将无法检测浏览器中存在的本机函数的内部函数,因为它们返回
function FUNCTION NAME {
[native code]
}
这是字符串输出。
对于其他情况,这应该有效。只需调用fnCount(),您将收到存在的函数数量(从结果中减去2以排除这两个函数)。
**如果函数匹配正则表达式有任何问题,请纠正我。
function fnCount(){
var keys = Object.keys(window);
var property;
var count = 0;
for(var i=0;i<keys.length; i++){
property = window[keys[i]];
if(typeof(property) === 'function'){
count += getInnerFunction(property);
}
}
return count;
}
function getInnerFunction(property){
var fn = property.toString();
var fnCount = fn.match(/function.*\(.*\).*{.*/g).length;
return fnCount;
}
答案 1 :(得分:-1)
打开notepad ++,按CTRL + F,键入function,单击Find all ...