Console API

普段、console.log()ばかり使ってたのですが
調べてみるといろいろあったのでメモ。

Chromeで試しています。

> console.log('this is %s', 'log');
> this is log

> console.info('this is %s', 'information');
> this is information

> console.debug('this is %s', 'debug string');
> this is debug string

> console.warn('this is %s', 'Warning');
(!) this is Warning

> console.error('this is %s', 'Error');
(x) this is Error

> console.assert(true, 'Yes!');
> undefined

> console.assert(false, 'No!');
(x) Assertion failed: No!

// グループでまとめたログは折り畳める様になる
> console.group('group %d', 1); console.log('in group1'); console.groupEnd();
> group 1
    in group1

// console.time() ~ console.timeEnd()間の処理時間
> console.time('timer');
> (function() { for(var i = 0; i < 1000000000; i++) { var j=0; j++} })();
> console.timeEnd('timer');
timer: 5866ms

// 呼ばれた回数を出力。引数で識別できる
> console.count('a');
> a: 1
> console.count('a');
> a: 2
> console.count('b');
> b: 1
> console.count('a');
> a: 3

// 引数に合ったInspectorのタブが開く
> inspect(document.getElementById('ghead'))
> <div id="ghead">…</div>
> inspect(localStorage)
> Storage
// console.profile()~console.profileEnd()の間にある関数をプロファイル出来るようになる。
<script>
  console.profile();
    function test1() {
      var j = 0;
      for(var i = 0; i < 10000000; i++) {
        j++;
      }
      console.log(j);
    }

    function test2() {
      var i = 0;
      while(i < 10000000) {
        i++;
      }
      console.log(i);
    }
    test1();
    test2();
  console.profileEnd();
</script>