如何在JavaScript中处理console.log和错误输出?

时间:2010-03-08 19:03:06

标签: javascript error-handling firebug

我有一个构造函数,其中包含一系列类和函数 - 在每个函数中,我检查param是否设置为显示错误,如果是,则输出。像这样使用内联if。问题和问题是不能保持两个版本,这种方法不明智,因为每个IF必须进行评估,从而增加了执行所需的时间?

debugSlide =  (bag.debug==1)? console.log("item id =" + bag.itemId) : 0;

你是怎么做到的?关于我在哪里可以找到关于此的提示的任何指示?提前谢谢!

1 个答案:

答案 0 :(得分:1)

这正是多态擅长的问题类型。

var SomeObject = function( initialDebugger )
{ 
  this.test = function()
  {
    alert( 'Test!' );
    this.debugger.log( 'Executing SomeObject.test()' );
  }

  this.setDebugger = function( newDebugger )
  {
    this.debugger = newDebugger;
  }

  if ( 'undefined' == typeof initialDebugger )
  {
    initialDebugger = new SilentDebugger();
  }
  this.setDebugger( initialDebugger );
}

var SilentDebugger = function()
{
  this.log = function(){}          
}

var FirebugDebugger = function()
{
  this.log = function()
  {
    console.log.apply( window, arguments );
  }
}

var sample = new SomeObject();

sample.test();
sample.setDebugger( new FirebugDebugger() );
sample.test();