有没有更好的方法来优化JavaScript?

时间:2012-07-19 04:51:18

标签: javascript optimization frontend

我正在做一个有几个javascript文件的web项目,特别是在firefox上发现前端响应有点慢。与服务器端相关的因素已被排除,因此我得出结论,它必须与我的javascripts有关。
我目前使用firebug进行调试,使用console.log(),或者在这里和那里注释一些代码 但事实证明这非常耗时!有没有人有其他有效或更好的方法来帮助我?提前谢谢。

** * ** * ** 下面@Bill是大部分时间占用的代码的一部分。 Firebug向“mainTabs”报告了一个未定义的错误。但是当我尝试在负载回调中重新声明mainTabs时,它仍然保持不变。 ** * ***

var mainTabs = $("#main-tabs").tabs({
    selected: defaultTab,
    cache: true, //set tabs to cache the content
    load: function(event, ui){
            //want to preload the non-active tabs' content
            console.log("mainTbas: "+mainTabs.html());
            mainTabs.tabs("load", ui.index+1);
    }
});

1 个答案:

答案 0 :(得分:2)

Firebug有一个脚本分析器,您可以使用它来找出问题所在。它位于Console标签下,位于All按钮之前。单击Profile按钮,然后刷新页面(或执行页面上运行缓慢的操作)。再次单击Profile按钮可以获得一个表格,告诉您哪些功能花费的时间最多。从那里开始尝试优化。

对于示例代码,您需要先声明mainTabs。这应该有效(至少根据我假设你开始的Preload JQuery UI tabs in the background):

var mainTabs;  // declare mainTabs first.
mainTabs = $("#main-tabs").tabs({
                selected: defaultTab,
                cache: true, //set tabs to cache the content
                load: function(event, ui){
                    mainTabs.tabs("load", ui.index+1);
                }
            });