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

如何在JavaScript中处理console.log和错误输出?,javascript,error-handling,firebug,Javascript,Error Handling,Firebug,我有一个构造函数,其中包含一系列类和函数——在每个函数中,我检查参数是否设置为显示错误,如果设置为显示错误,则输出。像这样使用内联if。问题是缺少两个版本,这种方法是否不明智,因为必须对每个IF进行评估,从而增加执行所需的时间 debugSlide = (bag.debug==1)? console.log("item id =" + bag.itemId) : 0; 你是怎么做到的?有关于我在哪里可以找到这方面的提示吗?提前谢谢 这正是多态性擅长的问题类型 var SomeObject =

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

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

你是怎么做到的?有关于我在哪里可以找到这方面的提示吗?提前谢谢

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

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();

if(console)console.log('in debugmode');令人惊叹的。谢谢你,我会测试的。