Более подробно следующее:
var DEBUG = false;
if(!DEBUG){
if(!window.console) window.console = {};
var methods = ["log", "debug", "warn", "info"];
for(var i=0;i<methods.length;i++){
console[methods[i]] = function(){};
}
}
Это обнулит общие методы в консоли, если они существуют, и они могут быть вызваны без ошибок и практически без снижения производительности. В случае браузера, такого как IE6 без консоли, будут созданы фиктивные методы для предотвращения ошибок. Конечно, в Firebug гораздо больше функций, таких как трассировка, профиль, время и т. Д. Их можно добавить в список, если вы используете их в своем коде.
Вы также можете проверить, есть ли у отладчика эти специальные методы или нет (т. Е. IE), и обнулить те, которые он не поддерживает:
if(window.console && !console.dir){
var methods = ["dir", "dirxml", "trace", "profile"]; //etc etc
for(var i=0;i<methods.length;i++){
console[methods[i]] = function(){};
}
}