JavaScript中的console.profile()函数详细介绍
编写JavaScript程序时,如果需要知道某段代码的执行时间,可以使用console.time()。不过,在分析逻辑较为复杂的JavaScript程序,试图从中找出性能瓶颈的时候,console.time()就不适用了—深入分析逻辑较为复杂的JavaScript程序的运行就意味着插入大量的console.time()语句,而这无疑是不可接受的。对于复杂逻辑的JavaScript程序调优,正确的方法是使用console.profile()。
浏览器支持
安装了Firebug插件的Firefox、GoogleChrome以及Safari都支持console.profile()语句,最新版的IE和Opera也提供了Profile功能。在几大浏览器上console.profile()的使用大同小异,本文仅介绍Firebug中console.profile()的使用情况。值得注意的一点是:如果使用Firebug控制台来直接编写JavaScript实验代码,那么console.profile()是无效的。
console.profile()的使用
console.profile()的使用非常简单:在需要开始profile的地方插入console.profile(),在结束profile的地方插入console.profileEnd()即可。以下面的代码为例:
functiondoTask(){ doSubTaskA(1000); doSubTaskA(100000); doSubTaskB(10000); doSubTaskC(1000,10000); } functiondoSubTaskA(count){ for(vari=0;i<count;i++){} } functiondoSubTaskB(count){ for(vari=0;i<count;i++){} } functiondoSubTaskC(countX,countY){ for(vari=0;i<countX;i++){ for(varj=0;j<countY;j++){} } }
console.profile(); doTask(); console.profileEnd();