使用console.profile()时,为什么我无法得到正确的答案?

时间:2015-07-20 08:02:16

标签: javascript firefox

我想知道如何在Firefox中使用console.profile()。我已阅读以下材料http://getfirebug.com/wiki/index.php/Console.profile,我复制了代码并在我的Firefox中运行,但我没有看到结果,为什么?

 function getById(id)
    {
        return document.getElementById(id);
    }

    function getViaSelector(id)
    {
        return document.querySelector(id);
    }

    var numberOfCalls = 10000;

    console.profile("getElementById() vs. querySelector()");
    for (var i=0; i<numberOfCalls; ++i)
        getById("test");
    for (var i=0; i<numberOfCalls; ++i)
        getViaSelector("test");
    console.profileEnd();

2 个答案:

答案 0 :(得分:1)

如果页面包含id为#34; test&#34;的元素,则适用于我。结果将按预期显示在内置Web控制台的运行时分析选项卡上。

注意,如果您使用Firebug,则需要从Web服务器加载代码段,因为Firebug不支持对本地文件(注入的代码)进行概要分析。另外,请确保启用默认禁用的脚本调试。

这是一个工作示例,您可以从文件或本地Web服务器加载(在两种情况下,分析都适用于我)。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Profiling Demo</title>
    <script type="text/javascript">
        function getById(id)
        {
            return document.getElementById(id);
        }

        function getViaSelector(id)
        {
            return document.querySelector(id);
        }

        var numberOfCalls = 10000;

        window.onload = function() {
            console.profile("getElementById() vs. querySelector()");
            for (var i=0; i<numberOfCalls; ++i) {
                getById("test");
            }
            for (var i=0; i<numberOfCalls; ++i) {
                getViaSelector("test");
            }
            console.profileEnd();
        }

    </script>
</head>
<body id="test">

</body>
</html>

结果显示在Firebug控制台中。不幸的是,由于我的声誉太低,我无法添加屏幕截图。

答案 1 :(得分:1)

控制台没有数据,数据存储在“性能”选项卡下。

enter image description here