控制台(Console),主要作用是显示网页加载过程中产生各类信息。


一、显示信息


Firebug内置一个console对象,用来显示信息到控制台。

最简单的方法是console.log(),可以用来取代alert()或document.write()。

  console.info("info");

  console.debug("debug");

  console.warn("warn");

  console.error("error");

    console.clear();


二、分组显示


如果显示信息太多,可以分组显示,用到的方法是console.group()和console.groupEnd()。

  console.group("Group 1");

    console.log("Group 1.1");

    console.log("Group 1.2");

  console.groupEnd();

  console.group("Group 2");

    console.log("Group 2.1");

    console.log("Group 2.2");

  console.groupEnd();

点击组标题,该组信息会折叠或展开。


三、显示对象所有的属性和方法


    console.dir();


四、console.assert()


console.assert()用来判断一个表达式或变量是否为真。如果结果为否,则在控制台输出一条相应信息,并且抛出一个异常。

相反什么也不打印。

  var result = 1;

  console.assert( result );

  var test = 958;

  console.assert(test == 888 );


五、console.trace()


console.trace()用来追踪函数的调用轨迹。


比如,有一个加法器函数。


  function add(a,b){

    return a+b;

  }


我想知道这个函数是如何被调用的,在其中加入console.trace()方法就可以了。


  function add(a,b){

    console.trace();

    return a+b;

  }


假定这个函数的调用代码如下:


  var x = add3(1,1);

  function add3(a,b){return add2(a,b);}

  function add2(a,b){return add1(a,b);}

  function add1(a,b){return add(a,b);}


运行后,会显示add()的调用轨迹,从上到下依次为add()、add1()、add2()、add3()。




六、计时功能


console.time()和console.timeEnd(),用来显示代码的运行时间。

  console.time("计时器一");

  for(var i=0;i<1000;i++){

    for(var j=0;j<3000;j++){}

  }


  console.timeEnd("计时器一");




七、性能分析


性能分析(Profiler)就是分析程序各个部分的运行时间,找出瓶颈所在,使用的方法是console.profile()。

假定有一个函数Foo(),里面调用了另外两个函数funcA()和funcB(),其中funcA()调用10次,funcB()调用1次。


  function Foo(){

    for(var i=0;i<10;i++){funcA(1000);}

    funcB(10000);

  }


  function funcA(count){

    for(var i=0;i

  }


  function funcB(count){

    for(var i=0;i

  }


然后,就可以分析Foo()的运行性能了。


  console.profile('性能分析器一');

  Foo();

  console.profileEnd();


控制台会显示一张性能分析表



[参考文献]

Console API