Вы можете переопределить вывод console.log следующим образом:
var oldConsole = console;
console = {
log: function(str,goOut = false) {
if (goOut) {
oldConsole.log(str);
}
},
warn: function(str,goOut = false) {
if (goOut) {
oldConsole.warn(str);
}
},
error: function(str,goOut = false) {
if (goOut) {
oldConsole.error(str);
}
}
}
console.log("this will not appear");
console.log("This will appear",true);
Сохранение объекта консоли в oldConsole позволяет вам фактически выводить данные на консоль, а затем повторное определение объекта консоли позволяет изменить функцию.
С помощью этой функции, чтобы фактически вывести что-то, вам нужно поставить TRUE в качестве второго параметра, который по умолчанию не выполняется, во все выходные данные console.log, чтобы он действительно отображался.
Как примечаниеВот что происходит:
- Сохраните ссылку на консоль в переменной oldConsole
- Переопределите консоль как новый объект.
- Установите свойства журнала, warn и error для наших собственных функций.
- Второй параметр, goOut, по умолчанию имеет значение FALSE, что означает, что вызов console.log ("hello") приводит к тому, что goOut становится false (неundefined).
- Когда вы явно задаете для него значение true, вызываете oldConsole.log (str, true) для фактического вывода в журнал.