2010-07-24 32 views

Odpowiedz

7

będzie drukować komunikaty dziennika w konsoli programisty (narzędzia Firebug/dev/ie WebKit dev narzędzia)

+3

to polecenie debugowania, które drukuje komunikaty dziennika. Pamiętaj jednak, że w IE upewnij się, że aktywowałeś narzędzia dev, które spowodują błąd. – kjy112

+2

Jako dodatek do wiadomości @ kjy112, console.log NIGDY nie powinien być w kodzie produkcyjnym! –

+1

FF umiera też, jeśli firebug nie działa. ale tak, to narzędzie do debugowania, a nie faktyczne narzędzie do rejestrowania. drugą alternatywą jest window.console = {}; window.console.log = function() {}; wstawić w noop, który będzie spożywał komunikaty dziennika. –

15

To nie ma nic wspólnego z jQuery, to tylko zręczny sposób js wbudowane w nowoczesnych przeglądarkach.

Potraktujcie to jako poręczny alternatywę do debugowania poprzez window.alert()

+9

trudno jest wywoływać komunikaty alert() "debugowanie". –

76

jQuery i console.log są podmiotami niezależnymi, choć przydatna, gdy stosowane razem.

Jeśli korzystasz z wbudowanych narzędzi programistycznych przeglądarki, console.log będzie rejestrować informacje o obiekcie przekazywanym do funkcji log.

Jeśli konsola nie jest aktywna, rejestrowanie nie zadziała i może spowodować uszkodzenie skryptu. Mieć pewność, aby sprawdzić, czy konsola istnieje przed wyrębem:

if (window.console) console.log('foo'); 

Skrót forma ta może być postrzegane Zamiast:

window.console&&console.log('foo'); 

Istnieją inne funkcje przydatne debugowania, jak również, takie jak debug, dir i error. Wiki Firebuga wymienia dostępne funkcje w console api.

+2

Czy nie jest to formularz skrótu: window.console && console.log ("foo")? – MiniQuark

+1

Ale gdy chcesz dodać instrukcję dziennika, nie musisz wykonywać 'window.console && console.log ('foo');', prawda? Po załadowaniu dokumentu nie mogłeś ustawić konsoli na window.console, jeśli konsola jest niezdefiniowana? –

+1

'window.console && console.log ('foo');' z pewnością użyje małej białej pomocy! –