Мне нужно отличить "0"
от 0
в выводе Firebug console.log
.
Если вы наберете console.log("0")
в консоли Firebug, вы получите 0
, так же, как если бы вы набрали console.log(0)
, но мне нужно, чтобы это было "0"
.
Другими словами, ожидаемый вывод:
console.log("0")
> "0"
console.log(0)
> 0
Фактические:
console.log("0")
> 0
console.log(0)
> 0
Какое лучшее решение этой проблемы?
Я нашел некоторые обходные пути, такие как console.log("%o", "0")
или console.log(["0"])
, но они слишком неуклюжи и навязчивы, чтобы использовать их везде.
Я также безуспешно пробовал debug
и info
.
Кстати, в консоли Chrome всё работает, но я пока не готов переходить на Chrome.
Я думаю о написании некоторой оболочки вокруг объекта консоли. Я не уверен, как это сделать правильно, но я попробую, если нет другого решения.
Таким образом, кажется, что единственное решение состоит в том, что вам нужно создать оболочку, которая выглядит следующим образом (на основе ответа @wsanville):
var log_orig = console.log;
// No need to check for type, just use %o for everything
// Also, it gets messier for multiple arguments
console.log = function(s) { log_orig('%o', s); }
Но тогда у вас возникает проблема с номерами строк, как описано в Как получить доступ к номерам строк при переносе Firebug (или аналогичного) Console API
Я думаю, мне следует сообщить об ошибке Firebug или что-то в этом роде, потому что в некоторых ситуациях это может быть очень важно.