Ответы:
Это не функция jQuery, а функция отладки. Например, вы можете записать что-то на консоль, когда что-то произойдет. Например:
$('#someButton').click(function() {
console.log('#someButton was clicked');
// do something
});
Затем вы увидите #someButton was clicked
на вкладке «Консоль» Firebug (или консоли другого инструмента, например, Chrome's Web Inspector), когда нажмете кнопку.
По некоторым причинам консольный объект может быть недоступен. Затем вы можете проверить, если это так - это полезно, поскольку вам не нужно удалять код отладки при развертывании в рабочей среде:
if (window.console && window.console.log) {
// console is available
}
if (console.log)
(или даже if (console && console.log)
) все равно выдаст ошибку, если консоль недоступна. Вы должны использовать window.console
(как window
это гарантировано существует) и проверять только один уровень глубины за один раз.
Места, которые вы можете посмотреть на консоли! Просто чтобы они все были в одном ответе.
Fire Fox
(теперь вы также можете использовать встроенные в Firefox инструменты разработчика Ctrl + Shift + J (Инструменты> Веб-разработчик> Консоль ошибок), но Firebug намного лучше; используйте Firebug)
Safari и Chrome
В основном то же самое.
https://developers.google.com/chrome-developer-tools/docs/overview
https://developer.apple.com/technologies/safari/developer-tools.html
Internet Explorer
Не забывайте, что вы можете использовать режимы совместимости для отладки IE7 и IE8 в IE9 или IE10
http://msdn.microsoft.com/en-us/library/ie/gg589507(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/dd565628(v=vs.85).aspx
Если вам нужен доступ к консоли в IE6 для IE7, используйте букмарклет Firebug Lite
http://getfirebug.com/firebuglite/ ищите стабильный букмарклет
http://en.wikipedia.org/wiki/Bookmarklet
опера
http://www.opera.com/dragonfly/
IOS
Работает для всех iPhone, iPod Touch и iPad.
Теперь с iOS 6 вы можете просматривать консоль через Safari в OS X, если подключите свое устройство. Или вы можете сделать это с помощью эмулятора, просто откройте окно браузера Safari и перейдите на вкладку «Разработка». Там вы найдете опции, чтобы заставить инспектора Safari связываться с вашим устройством.
Windows Phone, Android
Оба из них не имеют встроенной консоли и не имеют возможности закладки. Поэтому мы используем http://jsconsole.com/ type: listen, и он даст вам тег script для размещения в вашем HTML. С этого момента вы можете просматривать вашу консоль на веб-сайте jsconsole.
iOS и Android
Вы также можете использовать http://html.adobe.com/edge/inspect/ для доступа к инструментам веб-инспектора и консоли на любом устройстве, используя их удобный плагин для браузера.
Старые проблемы с браузером
Наконец, более старые версии IE будут аварийно завершать работу, если вы используете в своем коде console.log и при этом инструменты разработчика не будут открыты одновременно. К счастью, это легко исправить. Используйте приведенный ниже фрагмент кода вверху кода:
if(!window.console){ window.console = {log: function(){} }; }
Это проверяет, присутствует ли консоль, и если нет, устанавливает ее для объекта с пустой функцией, вызываемой log
. Таким образом, window.console и window.console.log никогда не будут по-настоящемуundefined.
Вы можете просматривать любые сообщения, зарегистрированные на консоли, если вы используете инструмент, такой как Firebug, для проверки вашего кода. Допустим, вы делаете это:
console.log('Testing console');
Когда вы получаете доступ к консоли в Firebug (или любом другом инструменте, который вы решите использовать для проверки своего кода), вы увидите любое сообщение, которое вы сказали функции, чтобы войти в систему. Это особенно полезно, когда вы хотите увидеть, выполняется ли функция или передается / назначается ли переменная правильно. На самом деле это довольно ценно для выяснения того, что пошло не так с вашим кодом.
Он отправит сообщение журнала на консоль javascript браузера, например, Firebug или Developer Tools (Chrome / Safari), и покажет строку и файл, из которого он был выполнен.
Более того, когда вы выводите объект jQuery, он будет включать ссылку на этот элемент в DOM, и при щелчке по нему вы перейдете на вкладку Elements / HTML.
Вы можете использовать различные методы, но имейте в виду, что для его работы в Firefox у вас должен быть открыт Firebug, иначе вся страница потерпит крах. Является ли то, что вы регистрируете, переменной, массивом, объектом или элементом DOM, это даст вам полную разбивку, включая и прототип для объекта (всегда интересно разобраться). Вы также можете включить столько аргументов, сколько захотите, и они будут заменены пробелами.
console.log( myvar, "Logged!");
console.info( myvar, "Logged!");
console.warn( myvar, "Logged!");
console.debug(myvar, "Logged!");
console.error(myvar, "Logged!");
Они отображаются с разными логотипами для каждой команды.
Вы также можете использовать, console.profile(profileName);
чтобы начать профилирование функции, скрипта и т. Д., А затем завершите его, console.profileEnd(profileName);
и он появится на вкладке «Профили» в Chrome (не знаю с FF).
Для полной ссылки перейдите на http://getfirebug.com/logging, и я предлагаю вам прочитать его. (Следы, группы, профилирование, проверка объекта).
Надеюсь это поможет!
console.log("x:", x)
лучше чем console.log("x:" + x)
? Это меньше подвержено ошибкам, так как ,
легче читать, чем +
?
+
строго, но я хотел показать, что вы также можете использовать запятые в функциях консоли. Кроме того, это позволяет избежать проблем, если обе переменные являются целыми числами или массивами.
console.log("x:", x)
значительно лучше, потому что когда x
это объект или массив (или что-то кроме строки), он отображается правильно, без преобразования в строку.
Нет никакого отношения к jQuery, и если вы хотите использовать его, я советую вам сделать
if (window.console) {
console.log("your message")
}
Таким образом, вы не нарушаете свой код, когда он недоступен.
Как предлагается в комментарии, вы также можете выполнить это в одном месте, а затем использовать console.log
как обычно
if (!window.console) { window.console = { log: function(){} }; }
if(!window.console){ window.console = function(){}; }
вместо этого в одном месте, а затем использовать console.log как обычно.
console.log
записывает отладочную информацию на консоль в некоторых браузерах (Firefox с установленным Firebug, Chrome, IE8, все с установленным Firebug Lite). В Firefox это очень мощный инструмент, позволяющий вам проверять объекты или проверять макет или другие свойства элементов HTML. Он не связан с jQuery, но есть две вещи, которые обычно делают при использовании его с jQuery:
установите расширение FireQuery для Firebug. Это, помимо других преимуществ, делает регистрацию объектов jQuery более привлекательной.
создайте оболочку, которая будет в большей степени соответствовать соглашениям о кодировании jQuery.
Это обычно означает что-то вроде этого:
$.fn.log = function() {
if (window.console && console.log) {
console.log(this);
}
return this;
}
который вы можете затем вызвать как
$('foo.bar').find(':baz').log().hide();
легко проверить внутри цепочек JQuery.
Иногда путаница заключается в том, что для регистрации текстового сообщения вместе с содержимым одного из ваших объектов с помощью console.log вы должны передать каждый из двух в качестве отдельного аргумента. Это означает, что вы должны разделить их запятыми, потому что если бы вы использовали оператор + для объединения выходных данных, это неявно вызвало бы .toString()
метод вашего объекта. В большинстве случаев это явно не переопределяется, и реализация по умолчанию, унаследованная, Object
не предоставляет никакой полезной информации.
Пример попробовать в консоли:
>>> var myObj = {foo: 'bar'}
undefined
>>> console.log('myObj is: ', myObj);
myObj is: Object { foo= "bar"}
тогда как, если вы попытаетесь объединить информативное текстовое сообщение с содержимым объекта, вы получите:
>>> console.log('myObj is: ' + myObj);
myObj is: [object Object]
Так что имейте в виду, что console.log на самом деле принимает столько аргументов, сколько вам нужно.
Используйте console.log
для добавления отладочной информации на вашу страницу.
Многие люди используют alert(hasNinjas)
для этой цели, но с ними console.log(hasNinjas)
легче работать. При использовании предупреждения появляется модальное диалоговое окно, которое блокирует пользовательский интерфейс.
Редактировать: Я согласен с Баптистом Перне и Яном Ханчичем, что было бы очень неплохо проверить, window.console
определен ли сначала, чтобы ваш код не ломался , если нет доступной консоли.
Пример - предположим, что вы хотите знать, какой строкой кода вы смогли запустить свою программу (до того, как она сломалась!), Просто введите
console.log("You made it to line 26. But then something went very, very wrong.")
Вы используете его для отладки кода JavaScript с помощью Firebug для Firefox или консоли JavaScript в браузерах WebKit .
var variable;
console.log(variable);
Он будет отображать содержимое переменной, даже если это массив или объект.
Это похоже print_r($var);
на PHP .
if (!window.console) { window.console = { log : function() {} }; }
. Это позволяет вам забыть удалить случайный оператор отладки.
Осторожно: если вы оставите вызовы консоли в вашем рабочем коде, ваш сайт будет поврежден в Internet Explorer. Никогда не держите его в развернутом виде. См .: https://web.archive.org/web/20150908041020/blog.patspam.com/2009/the-curse-of-consolelog
В первые дни отладка JS выполнялась с помощью alert()
функции - теперь это устаревшая практика.
Это console.log()
функция, которая записывает сообщение для входа в консоль отладки, например, Webkit или Firebug. В браузере вы не увидите ничего на экране. Он записывает сообщение в консоль отладки. Он доступен только в Firefox с Firebug и в браузерах на основе Webkit (Chrome и Safari). Это не работает хорошо во всех выпусках IE .
Консольный объект является расширением DOM.
console.log()
Следует использовать в коде только в процессе разработки и отладки.
Считается плохой практикой, что кто-то оставляет console.log()
в файле javascript на рабочем сервере.
Если ваш браузер поддерживает отладку, вы можете использовать метод console.log () для отображения значений JavaScript.
Активируйте отладку в вашем браузере с помощью F12и выберите «Консоль» в меню отладчика.
Консоль в JavaScript. Попробуйте исправить или «отладить» неработающую программу JavaScript, и попробуйте использовать команду console.log (). Существуют ярлыки, которые помогут вам получить доступ к консоли JavaScript в зависимости от используемого вами браузера:
Сочетания клавиш Chrome Console
Windows: Ctrl+ Shift+ J
Mac: Cmd+ Option+J
Сочетания клавиш консоли Firefox
Windows: Ctrl+ Shift+ K
Mac: Cmd+ Option+K
Сочетания клавиш консоли Internet Explorer
F12 ключ
Сочетания клавиш консоли Safari
Cmd+ Option+C
console.log
В частности, это метод для разработчиков, который пишет код, чтобы незаметно информировать разработчиков о том, что делает код. Его можно использовать для предупреждения о наличии проблемы, но он не должен заменять интерактивный отладчик, когда приходит время отладки кода. Его асинхронный характер означает, что зарегистрированные значения не обязательно представляют значение при вызове метода.
Вкратце: регистрируйте ошибки с помощью console.log
(если есть), затем исправляйте ошибки, используя выбранный отладчик: Firebug , инструменты разработчика WebKit (встроенные в Safari и Chrome ), инструменты разработчика IE или Visual Studio.
Он используется для входа (что угодно, что вы передаете) на консоль Firebug . Основное использование будет отлаживать ваш код JavaScript.
В Java-скриптах нет функций ввода и вывода. Поэтому для отладки кода используется метод console.log (). Это метод ведения журнала. Он будет напечатан в журнале консоли (средства разработки).
Его нет в IE8 и ниже, пока вы не откроете инструмент разработки IE.
Это не имеет ничего общего с JQuery. console.log()
Ссылается на логарифмической функции на консоли объекта, который предоставляет методы для записи информации на консоль браузера. Эти методы предназначены только для целей отладки и не должны использоваться для представления информации конечным пользователям.