当使用FireBug对我的JavaScript进行性能分析时,jQuery.clone()之类的功能几乎占了所消耗时间的50%:

Function  | call|  %  |  own  |  time  |  avg |  min  |  max  |     file
_____________________________________________________________________________
clone     | 400 | 42% | 840ms | 1332ms | 3s   | 0.1ms | 13.ms | jquery.min.js
clone     | 138 | 13% | 267ms | 1038ms | 7ms  | 5ms   | 16.ms | jquery.min.js
template  | 338 | 6%  | 125ms | 185ms  | 0.5ms| 0.2ms | 1.6ms | underscore.js
fadeImage | 398 | 3%  | 79ms  | 146ms  | 0.8ms| 0.1ms | 2.7ms | ondemand.js


我不是在称自己为clone(),而是在理解为何经常这么称呼我时遇到困难。我有一个带很多子视图的bone.js应用程序-这可能是一个原因-但这只是猜测。

有没有一种方法可以不仅记录呼叫的频率,还可以记录触发的方式?

最佳答案

如果您使用Firebug进行调试,则可以使用console.trace()来输出stacktrace。这样就可以看到哪个函数调用了此函数。

09-25 18:14
查看更多