php - style - jquery best practices
jQuery: print_r() pantalla equivalente? (8)
Posible duplicado:
Formateo de datos de JavaScript / impresora bonita
Me estoy cansando de mirar blobs JSON sin formato en FireBug.
¿Alguien sabe un equivalente de print_r () de PHP para jQuery?
¿Algo que haría de forma recursiva una cadena de visualización de un objeto o matriz, que podría mostrar en la página para una depuración rápida?
¡Gracias!
¿Qué tal algo así como:
<script src=''http://code.jquery.com/jquery-latest.js''></script>
function print_r(o){
return JSON.stringify(o,null,''/t'').replace(//n/g,''<br>'').replace(//t/g,'' ''); }
El comentario principal tiene un enlace roto a la documentación de console.log para Firebug, así que aquí hay console.log . Empecé a usarlo y estoy bastante satisfecho con él como una alternativa a print_r () de PHP.
También es de destacar que Firebug le brinda acceso a objetos JSON devueltos incluso sin que usted los haya iniciado manualmente:
- En la consola, puede ver la URL de la respuesta AJAX.
- Haga clic en el triángulo para expandir la respuesta y ver detalles.
- Haga clic en la pestaña JSON en los detalles.
- Verá los datos de respuesta organizados con triángulos de expansión.
Este método toma un par de clics más para obtener los datos, pero no requiere ninguna adición en su javascript real y no cambia su enfoque en Firebug fuera de la consola (usando console.log crea un enlace a la sección DOM de firebug , lo que le obliga a volver a hacer clic en la consola después).
Por mi dinero prefiero hacer clic un par de veces más cuando quiero inspeccionar en lugar de perder el tiempo con el registro, sobre todo porque mantiene la consola limpia al no agregar ningún cruft adicional.
Hice un plugin jQuery para el equivalente de
<pre>
<?php echo print_r($data) ?>
</pre>
Puede descargarlo en https://github.com/tomasvanrijsse/jQuery.dump
Mira esto: http://phpjs.org/functions/index y encuentra para print_r o usa console.log () con firebug.
Podría usar una reflection muy fácil para enumerar todas las propiedades, métodos y valores.
Para los navegadores basados en Gecko puedes usar el método .toSource ():
var data = new Object();
data["firstname"] = "John";
data["lastname"] = "Smith";
data["age"] = 21;
alert(data.toSource()); //Will return "({firstname:"John", lastname:"Smith", age:21})"
Pero como usas Firebug, ¿por qué no usas console.log?
También puedes hacer
console.log("a = %o, b = %o", a, b);
donde a y b son objetos.
console.log
es lo que más a menudo uso cuando estoy depurando.
Sin embargo, pude encontrar esta jQuery extension
.
$.each(myobject, function(key, element) {
alert(''key: '' + key + ''/n'' + ''value: '' + element);
});
Esto hace el trabajo por mí. :)