¿Cómo imprimo mensajes de depuración en la Consola JavaScript de Google Chrome?
Tenga en cuenta que la consola de JavaScript no es lo mismo que el depurador de JavaScript; tienen diferentes sintaxis AFAIK, por lo que el comando de impresión en JavaScript Debugger no funcionará aquí. En la consola de JavaScript, print()
enviará el parámetro a la impresora.
javascript
console
debugging
google-chrome
Tamas Czinege
fuente
fuente
console.log()
es increíble para la depuración de js ... A menudo olvido usarlo en la práctica.console.log()
código debe eliminarse del código de producción antes de la implementación.Console.Log
deben eliminarse del código de producción antes de la implementación porque, de lo contrario, estos mensajes se registrarán en la consola JavaScript de sus usuarios. Si bien es poco probable que lo vean, está ocupando espacio en la memoria de su dispositivo. Además, dependiendo del contenido del Registro, potencialmente le está diciendo a la gente cómo piratear / aplicar ingeniería inversa a su aplicación.Mejorando la idea de Andru, puede escribir un script que cree funciones de consola si no existen:
Luego, use cualquiera de los siguientes:
Estas funciones registrarán diferentes tipos de elementos (que se pueden filtrar según el registro, la información, el error o la advertencia) y no causarán errores cuando la consola no esté disponible. Estas funciones funcionarán en las consolas Firebug y Chrome.
fuente
if (!window.console) {
y luego pone todo entre paréntesis? En este momento estás evaluando las mismas cosas cuatro veces.Simplemente agregue una característica genial que muchos desarrolladores se pierden:
Este es el
%o
volcado mágico de contenido cliqueable y de navegación profunda de un objeto JavaScript.%s
se mostró solo para un registro.También esto también es genial:
Lo que proporciona un seguimiento de pila similar a Java hasta el punto de la
new Error()
invocación (incluida la ruta al archivo y el número de línea !).Ambos
%o
ynew Error().stack
están disponibles en Chrome y Firefox!También para el uso de rastros de pila en Firefox:
Como https://developer.mozilla.org/en-US/docs/Web/API/console dice.
¡Feliz pirateo!
ACTUALIZACIÓN : Algunas bibliotecas están escritas por personas malas que redefinen el
console
objeto para sus propios fines. Para restaurar el navegador originalconsole
después de cargar la biblioteca, use:Consulte la pregunta sobre desbordamiento de pila Restaurando console.log () .
fuente
Solo una advertencia rápida: si desea probar en Internet Explorer sin eliminar todos los console.log (), necesitará usar Firebug Lite o obtendrá algunos errores no particularmente amigables.
(O cree su propia console.log () que simplemente devuelve false).
fuente
console
objeto se crea y existe hasta que cierre esa instancia del navegador.Aquí hay un breve script que comprueba si la consola está disponible. Si no es así, intenta cargar Firebug y si Firebug no está disponible, carga Firebug Lite. Ahora puedes usarlo
console.log
en cualquier navegador. ¡Disfrutar!fuente
Además de la respuesta de Delan Azabani , me gusta compartir mi
console.js
, y lo uso para el mismo propósito. Creo una consola noop usando una matriz de nombres de funciones, lo que en mi opinión es una forma muy conveniente de hacerlo, y me encargué de Internet Explorer, que tiene unaconsole.log
función, pero noconsole.debug
:fuente
O use esta función:
fuente
console.constructor === Object && (log = m => console.log(m))
Aquí está mi clase de contenedor de consola. También me da salida de alcance para hacer la vida más fácil. Tenga en cuenta el uso de
localConsole.debug.call()
so que selocalConsole.debug
ejecuta en el ámbito de la clase de llamada, proporcionando acceso a sutoString
método.Esto da salida como en Firebug :
O cromo:
fuente
Personalmente, uso esto, que es similar a tarek11011:
El punto principal es que es una buena idea al menos tener alguna práctica de inicio de sesión que no sea simplemente pegarse
console.log()
directamente en su código JavaScript, porque si lo olvida, y está en un sitio de producción, puede potencialmente romper todo el código JavaScript para esa páginafuente
if(windows.console) console.log(msg)
?window.console
Quiere decir. la única vez que el intento sería útil es si se arrojó un Error (si console.log no era una función) desde que se redefinió la consola. Hacerwindow.console && window.console.log instanceof Function
sería más útil.Podría usarlo
console.log()
si tiene un código depurado en el editor de software de programación que tiene y verá que la salida es probablemente el mejor editor para mí (Google Chrome). Simplemente presione F12y presione la pestaña Consola. Verás el resultado. Feliz codificación :)fuente
He tenido muchos problemas con los desarrolladores que registran sus declaraciones de consola. (). Y, realmente no me gusta depurar Internet Explorer, a pesar de las fantásticas mejoras de Internet Explorer 10 y Visual Studio 2012 , etc.
Entonces, he anulado el objeto de la consola en sí ... Agregué un indicador __localhost que solo permite declaraciones de consola cuando está en localhost. También agregué funciones de consola. () A Internet Explorer (que muestra una alerta () en su lugar).
Ejemplo de uso:
Chrome / Firefox:
Explorador de Internet:
Para aquellos que miran detenidamente el código, descubrirán la función console.examine (). Lo creé hace años para poder dejar el código de depuración en ciertas áreas del producto para ayudar a solucionar problemas de QA / cliente. Por ejemplo, dejaría la siguiente línea en algún código publicado:
Y luego, desde el producto lanzado, escriba lo siguiente en la consola (o barra de direcciones con el prefijo 'javascript:'):
Luego, veré todas las instrucciones de console.examine () registradas. Ha sido una ayuda fantástica muchas veces.
fuente
Internet simple 7 e inferior de cuña que conserva la numeración de línea para otros navegadores:
fuente
El uso de este método imprime el texto en un color azul brillante en la consola.
fuente
Mejorando aún más las ideas de Delan y Andru (por eso esta respuesta es una versión editada); es probable que exista console.log mientras que las otras funciones no, así que tenga el mapa predeterminado para la misma función que console.log ...
Puede escribir un script que cree funciones de consola si no existen:
Luego, use cualquiera de los siguientes:
Estas funciones registrarán diferentes tipos de elementos (que se pueden filtrar según el registro, la información, el error o la advertencia) y no causarán errores cuando la consola no esté disponible. Estas funciones funcionarán en las consolas Firebug y Chrome.
fuente