Что такое console.log
?
Пожалуйста, объясните, как использовать его в JavaScript с примером кода.
Что такое console.log
?
Пожалуйста, объясните, как использовать его в JavaScript с примером кода.
Это не функция jQuery, а функция для отладки. Вы можете, например, зарегистрировать что-то на консоли, когда что-то произойдет. Например:
$('#someButton').click(function() {
console.log('#someButton was clicked');
// do something
});
Затем вы увидите #someButton was clicked
в вкладке "Консоль Firebugs" (или другой консоли инструментов - например, Chromes Web Inspector), когда вы нажмете кнопку.
По некоторым причинам объект консоли может быть недоступен. Тогда вы можете проверить, действительно ли это - это полезно, поскольку вам не нужно удалять код отладки при развертывании в производство:
if (window.console && window.console.log) {
// console is available
}
Места, которые вы можете посмотреть на консоли! Просто чтобы они все были в одном ответе.
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, и он предоставит вам скрипт-тег для размещения в вашем 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, и щелчок по нему будет соответствовать таковой на вкладке Элементы /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);
, чтобы начать профилирование функции, script и т.д. И затем завершите ее с помощью console.profileEnd(profileName);
, и она появится на вашем вкладке "Профили" в Chrome (не знаю с FF).
Для полной справки перейдите к http://getfirebug.com/logging , и я предлагаю вам прочитать его. (Следы, группы, профилирование, проверка объектов).
Надеюсь, это поможет!
Нет ничего общего с jQuery, и если вы хотите его использовать, я советую вам сделать
if (window.console) {
console.log("your message")
}
Таким образом, вы не нарушаете свой код, когда он недоступен.
Как указано в комментарии, вы также можете выполнить это в одном месте, а затем использовать console.log
как обычно
if (!window.console) { window.console = { log: function(){} }; }
console.log
не имеет ничего общего с jQuery. Это общий объект/метод, предоставляемый отладчиками (включая отладчик Chrome и Firebug), который позволяет script записывать данные (или объекты в большинстве случаев) в консоль JavaScript.
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
не имеет ничего общего с jQuery.
Он регистрирует сообщение на консоли отладки, например Firebug.
Иногда путаница заключается в том, что для записи текстового сообщения вместе с содержимым одного из ваших объектов с помощью 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)
с ним легче работать. С помощью предупреждения появляется диалоговое окно мода, которое блокирует пользовательский интерфейс.
Изменить: Я согласен с Baptiste Pernet и Ян Ханчич, что очень хорошая проверка если 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.
Остерегайтесь: оставляя вызовы на консоль в вашем производственном коде, ваш сайт будет разбит на 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
Windows: Ctrl + Shift + J
Mac: Cmd + Option + J
Горячие клавиши консоли консоли Firefox
Windows: Ctrl + Shift + K
Mac: Cmd + Option + K
Горячие клавиши консоли консоли Internet Explorer
F12
Горячие клавиши консоли Safari
Cmd + Option + C
Используется для регистрации (все, что вы передаете) в консоли Firebug. Основное использование будет заключаться в отладке вашего кода JavaScript.
console.log
В частности, это метод, позволяющий разработчикам писать код, чтобы незаметно сообщить разработчикам, что делает код. Его можно использовать, чтобы предупредить вас о наличии проблемы, но не следует заменять интерактивный отладчик, когда приходит время отлаживать код. Его асинхронный характер означает, что зарегистрированные значения не обязательно представляют значение при вызове метода.
Вкратце: ошибки журнала с console.log
(если доступно), а затем исправить ошибки с помощью вашего отладчика выбора: Firebug, Инструменты разработчика WebKit (встроенные в Safari и Chrome), IE Developer Tools или Visual Studio.
Я действительно чувствую, что веб-программирование легко, когда я запускаю console.log
для отладки.
var i;
Если я хочу проверить значение i
runtime..
console.log(i);
вы можете проверить текущее значение i
на вкладке консоли firebug. Он специально используется для отладки.
Помимо упомянутых выше способов, console.log
также может печатать на терминале в node.js
. Сервер, созданный с помощью экспресс (например,), может использовать console.log
для записи в выходной файл журнала.
В java-скриптах нет входных и выходных функций. Поэтому для отладки кода используется метод console.log(). Это метод ведения журнала. Он будет напечатан в консольном журнале (средства разработки).
Его нет в IE8 и ниже, пока вы не откроете инструмент разработки IE.
Это не имеет ничего общего с JQuary. conosole.log()
возвращает ссылку на объект консоли, который предоставляет методы для регистрации информации в консоли браузера. Эти методы предназначены только для целей отладки и не должны использоваться для представления информации конечным пользователям.