Respuestas:
No es una función de jQuery, sino una función para fines de depuración. Por ejemplo, puede registrar algo en la consola cuando sucede algo. Por ejemplo:
$('#someButton').click(function() {
console.log('#someButton was clicked');
// do something
});
Entonces verías #someButton was clicked
en la pestaña "Consola" de Firebug (o la consola de otra herramienta, por ejemplo, el Inspector web de Chrome) cuando haría clic en el botón.
Por algunas razones, el objeto de la consola podría no estar disponible. Luego, puede verificar si es así; esto es útil ya que no tiene que eliminar su código de depuración cuando lo implementa en producción:
if (window.console && window.console.log) {
// console is available
}
if (console.log)
(o incluso if (console && console.log)
) aún arrojará un error si la consola no está disponible. Debe usar window.console
(como window
se garantiza que existe) y solo verificar un nivel de profundidad a la vez.
¡Lugares donde puedes ver la consola! Solo para tenerlos a todos en una respuesta.
Firefox
(ahora también puede usar las herramientas de desarrollador integradas de Firefox Ctrl + Shift + J (Herramientas> Desarrollador web> Consola de error), pero Firebug es mucho mejor; use Firebug)
Safari y Chrome
Básicamente lo mismo.
https://developers.google.com/chrome-developer-tools/docs/overview
https://developer.apple.com/technologies/safari/developer-tools.html
explorador de Internet
No olvide que puede usar los modos de compatibilidad para depurar IE7 e IE8 en IE9 o 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
Si debe acceder a la consola en IE6 para IE7, use el bookmarklet Firebug Lite
http://getfirebug.com/firebuglite/ busque bookmarklet estable
http://en.wikipedia.org/wiki/Bookmarklet
Ópera
http://www.opera.com/dragonfly/
iOS
Funciona para todos los iPhones, iPod touch y iPads.
Ahora con iOS 6 puede ver la consola a través de Safari en OS X si conecta su dispositivo. O puede hacerlo con el emulador, simplemente abra una ventana del navegador Safari y vaya a la pestaña "Desarrollar". Allí encontrará opciones para que el inspector de Safari se comunique con su dispositivo.
Windows Phone, Android
Ambos no tienen consola incorporada y no tienen capacidad de marcador. Entonces usamos http://jsconsole.com/ type: listen y le dará una etiqueta de script para colocar en su HTML. A partir de entonces, puede ver su consola dentro del sitio web jsconsole.
iOS y Android
También puede usar http://html.adobe.com/edge/inspect/ para acceder a las herramientas del inspector web y la consola en cualquier dispositivo utilizando su conveniente complemento de navegador.
Problemas antiguos del navegador
Por último, las versiones anteriores de IE se bloquearán si usa console.log en su código y no tiene las herramientas de desarrollador abiertas al mismo tiempo. Afortunadamente es una solución fácil. Use el fragmento de código a continuación en la parte superior de su código:
if(!window.console){ window.console = {log: function(){} }; }
Esto verifica si la consola está presente, y si no, la establece en un objeto con una función en blanco llamada log
. De esta manera, window.console y window.console.log nunca es verdaderamenteundefined.
Puede ver cualquier mensaje registrado en la consola si utiliza una herramienta como Firebug para inspeccionar su código. Digamos que haces esto:
console.log('Testing console');
Cuando acceda a la consola en Firebug (o cualquier herramienta que decida usar para inspeccionar su código), verá cualquier mensaje que le indique a la función que registre. Esto es particularmente útil cuando desea ver si una función se está ejecutando, o si una variable se pasa / asigna correctamente. En realidad, es bastante valioso para descubrir qué salió mal con su código.
Publicará un mensaje de registro en la consola javascript del navegador, por ejemplo, Firebug o Herramientas para desarrolladores (Chrome / Safari) y mostrará la línea y el archivo desde donde se ejecutó.
Además, cuando genera un objeto jQuery, incluirá una referencia a ese elemento en el DOM, y al hacer clic en él irá a eso en la pestaña Elementos / HTML.
Puede usar varios métodos, pero tenga en cuenta que para que funcione en Firefox, debe tener Firebug abierto, de lo contrario, toda la página se bloqueará. Si lo que está registrando es una variable, una matriz, un objeto o un elemento DOM, también le dará un desglose completo, incluido el prototipo del objeto (siempre es interesante tener un vistazo). También puede incluir tantos argumentos como desee, y serán reemplazados por espacios.
console.log( myvar, "Logged!");
console.info( myvar, "Logged!");
console.warn( myvar, "Logged!");
console.debug(myvar, "Logged!");
console.error(myvar, "Logged!");
Estos se muestran con diferentes logotipos para cada comando.
También puede usar console.profile(profileName);
para comenzar a perfilar una función, script, etc. Y luego finalizarlo conconsole.profileEnd(profileName);
y aparecerá en su pestaña Perfiles en Chrome (no lo sé con FF).
Para obtener una referencia completa, visite http://getfirebug.com/logging y le sugiero que lo lea.(Rastros, grupos, perfiles, inspección de objetos).
¡Espero que esto ayude!
console.log("x:", x)
mejor que console.log("x:" + x)
? ¿Es menos propenso a errores ya que a ,
es más fácil de leer que a +
?
+
estrictamente, pero quería mostrar que también puede usar comas en las funciones de la consola. Además, evita problemas si ambas variables son enteros o matrices.
console.log("x:", x)
es significativamente mejor, porque cuando x
es objeto o matriz (o cualquier cosa menos cadena), se muestra correctamente, sin conversión a cadena.
No hay nada que ver con jQuery y si quieres usarlo te aconsejo que lo hagas
if (window.console) {
console.log("your message")
}
Para que no rompa su código cuando no está disponible.
Como se sugiere en el comentario, también puede ejecutarlo en un solo lugar y luego usarlo de console.log
manera normal
if (!window.console) { window.console = { log: function(){} }; }
if(!window.console){ window.console = function(){}; }
en un lugar, luego usar console.log como de costumbre?
console.log
registra información de depuración en la consola en algunos navegadores (Firefox con Firebug instalado, Chrome, IE8, cualquier cosa con Firebug Lite instalado). En Firefox es una herramienta muy poderosa, que le permite inspeccionar objetos o examinar el diseño u otras propiedades de los elementos HTML. No está relacionado con jQuery, pero hay dos cosas que se hacen comúnmente cuando se usa con jQuery:
instale la extensión FireQuery para Firebug. Esto, entre otras ventajas, hace que el registro de los objetos jQuery se vea mejor.
cree un contenedor que esté más en línea con las convenciones de código de encadenamiento de jQuery.
Esto generalmente significa algo como esto:
$.fn.log = function() {
if (window.console && console.log) {
console.log(this);
}
return this;
}
que luego puedes invocar como
$('foo.bar').find(':baz').log().hide();
para verificar fácilmente dentro de las cadenas jQuery.
Un punto de confusión a veces es que para registrar un mensaje de texto junto con el contenido de uno de sus objetos usando console.log, debe pasar cada uno de los dos como un argumento diferente. Esto significa que debe separarlos por comas porque si usara el operador + para concatenar las salidas, esto llamaría implícitamente el .toString()
método de su objeto. En la mayoría de los casos, esto no se anula explícitamente y la implementación predeterminada heredada por Object
no proporciona ninguna información útil.
Ejemplo para probar en la consola:
>>> var myObj = {foo: 'bar'}
undefined
>>> console.log('myObj is: ', myObj);
myObj is: Object { foo= "bar"}
mientras que si intentas concatenar el mensaje de texto informativo junto con el contenido del objeto obtendrás:
>>> console.log('myObj is: ' + myObj);
myObj is: [object Object]
Tenga en cuenta que console.log, de hecho, toma tantos argumentos como desee.
Use console.log
para agregar información de depuración a su página.
Muchas personas lo usan alert(hasNinjas)
para este propósito, pero console.log(hasNinjas)
es más fácil trabajar con él. Usando una alerta emergente aparece un cuadro de diálogo modal que bloquea la interfaz de usuario.
Editar: Estoy de acuerdo con Baptiste Pernet y Jan Hančič en que es una muy buena idea verificar si window.console
se define primero para que su código no se rompa si no hay una consola disponible.
Un ejemplo: suponga que desea saber qué línea de código pudo ejecutar su programa (¡antes de que se rompiera!), Simplemente escriba
console.log("You made it to line 26. But then something went very, very wrong.")
Lo usa para depurar código JavaScript con Firebug para Firefox o la consola JavaScript en los navegadores WebKit .
var variable;
console.log(variable);
Mostrará el contenido de la variable, incluso si se trata de una matriz u objeto.
Es similar a print_r($var);
para PHP .
if (!window.console) { window.console = { log : function() {} }; }
. Esto le permite olvidarse de eliminar la declaración de depuración ocasional.
Cuidado: dejar llamadas a la consola en su código de producción hará que su sitio se rompa en Internet Explorer. Nunca lo mantengas desenvuelto. Ver: https://web.archive.org/web/20150908041020/blog.patspam.com/2009/the-curse-of-consolelog
En los primeros días, la depuración de JS se realizaba a través de la alert()
función; ahora es una práctica obsoleta.
La console.log()
es una función que escribe un mensaje para iniciar sesión en la consola de depuración, como Webkit o Firebug. En un navegador no verá nada en la pantalla. Registra un mensaje en una consola de depuración. Solo está disponible en Firefox con Firebug y en navegadores basados en Webkit (Chrome y Safari). No funciona bien en todas las versiones de IE .
El objeto de la consola es una extensión del DOM.
El console.log()
debe usarse en el código solo durante el desarrollo y la depuración.
Se considera una mala práctica que alguien deje console.log()
en el archivo javascript en el servidor de producción.
Si su navegador admite depuración, puede usar el método console.log () para mostrar los valores de JavaScript.
Active la depuración en su navegador con F12y seleccione "Consola" en el menú del depurador.
Consola en JavaScript. Intente arreglar o "depurar" un programa JavaScript que no funciona y practique usando el comando console.log (). Existen accesos directos que lo ayudarán a acceder a la consola de JavaScript, en función del navegador que esté utilizando:
Atajos de teclado de la consola de Chrome
Windows: Ctrl+ Shift+ J
Mac: Cmd+ Option+J
Atajos de teclado de la consola Firefox
Windows: Ctrl+ Shift+ K
Mac: Cmd+ Option+K
Atajos de teclado de la consola de Internet Explorer
F12 llave
Atajos de teclado de la consola Safari
Cmd+ Option+C
console.log
específicamente es un método para que los desarrolladores escriban código para informar discretamente a los desarrolladores qué está haciendo el código. Se puede usar para alertarlo de que hay un problema, pero no debe reemplazar a un depurador interactivo cuando llega el momento de depurar el código. Su naturaleza asincrónica significa que los valores registrados no representan necesariamente el valor cuando se llamó al método.
En resumen: registre errores con console.log
(si está disponible), luego corrija los errores usando su depurador de su elección: Firebug , WebKit Developer Tools (incorporado en Safari y Chrome ), IE Developer Tools o Visual Studio.
Realmente siento que la programación web es fácil cuando empiezo console.log
a depurar.
var i;
Si quiero verificar el valor del i
tiempo de ejecución ...
console.log(i);
puede verificar el valor actual de i
en la pestaña de la consola de firebug. Se utiliza especialmente para la depuración.
Se utiliza para iniciar sesión (cualquier cosa que le pase) a la consola Firebug . El uso principal sería depurar su código JavaScript.
En los scripts de Java no hay funciones de entrada y salida. Entonces, para depurar el código se utiliza el método console.log (). Es un método para iniciar sesión. Se imprimirá en el registro de la consola (herramientas de desarrollo).
No está presente en IE8 y bajo hasta que abra la herramienta de desarrollo de IE.
Esto no es nada para tratar con jQuery. Hace console.log()
referencia a la función de registro del objeto de consola, que proporciona métodos para registrar información en la consola del navegador. Estos métodos están destinados únicamente a fines de depuración y no se debe confiar en ellos para presentar información a los usuarios finales.