Różnica pomiędzy console.log() a document.write()

0

Witam,
jestem na samym początku przygody z java script.
Jak na razie wszystko wydaje mi się zrozumiałe (składnia języka, zmienne itd) poza jedną kwestią (techniczną).
W kursach, które czytam/oglądam jest bardzo dużo odwołań do konsoli.

Jest dla mnie zrozumiały sposób kodowania na takiej zasadzie, że piszę w notatniku, zapisuję plik jako np index.html i w nim jak napiszę powiedzmy document.write to tak funkcja powoduje wyświetlenie się ciągu znaków.
Natomiast nie rozumiem, czemu ma służyć kodowanie "pod konsolę" czyli np. pisanie console.log co powoduje wyświetlenie napisu w konsoli. Przecież programy piszemy dla klienta/odbiorcy po co pisać kod który jest użyteczny tylko i wyłącznie przy wykonywaniu go na konsoli?
Czegoś tu nie rozumiem, czy pisanie poleceń typu console.log jest tylko elementem treningowym/ sprawdzaniem programu czy jest tu jakaś inna logika.
Przecież finalny odbiorca nie będzie odpalał kodu pod konsolą.

z góry dzięki za pomoc

2

Zanim nauczysz się pisać duże systemy musisz się nauczyć podstaw języka itp.
W normalnych językach ćwiczy się to w aplikacjach konsolowych, w js tego odpowiednikiem jest logowanie na konsolę.

1
AdamKowalski2022 napisał(a):

Jest dla mnie zrozumiały sposób kodowania na takiej zasadzie, że piszę w notatniku, zapisuję plik jako np index.html i w nim jak napiszę powiedzmy document.write to tak funkcja powoduje wyświetlenie się ciągu znaków.

Zostaw to document.write. Najlepiej tego w ogóle nie używać. Z document.write jest problem, że jak użyjesz tego po załadowaniu strony, to cała treść zostanie nadpisana (spróbuj otworzyć konsolę w przeglądarce i napisać document.write("Hello") i zobaczysz, co się stanie).

Jeśli chcesz dodać coś na stronę (tekst, jakiś element HTML itp.), to możesz to zrobić za pomocą interakcji z DOM np.
https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement

Natomiast nie rozumiem, czemu ma służyć kodowanie "pod konsolę" czyli np. pisanie console.log co powoduje wyświetlenie napisu w konsoli. Przecież programy piszemy dla klienta/odbiorcy po co pisać kod który jest użyteczny tylko i wyłącznie przy wykonywaniu go na konsoli?

Idąc tą logiką, to zlikwidujmy studzienki kanalizacyjne, bo przecież wodę dostarcza się do mieszkań, więc po co dodatkowo budować studzienki kanalizacyjne, które są użyteczne tylko dla robotników? Przecież finalny odbiorca wody nie będzie wchodził do kanałów XD

Ogólnie console.log jest dla programisty, żeby mógł sobie coś potestować, a nie dla końcowego użytkownika.

No chyba, że to apka konsolowa działająca w Node.js, wtedy console.log po prostu wyświetla tekst na standardowe wyjście.

2

Nie używaj w ogóle nigdy document.write().

0

Ja tam cały czas jadę na innerHTML i iframe.srcdoc. Mój "profesor" używa na ćwiczeniach console.log ale mnie to wkurza, to okienko otwarte z boku. Daję ładne tło , ładną czcionkę, wyróżnienie kolorem ważniejszych aspektów i jest ślicznie i estetycznie. Ale ja dopiero zaczynam więc może się nie znam. - odpowiadam. --- Opiszon --- uczę się , testuje, analizuję - w sumie po to infinityhost.cba.pl poza tym jak robię wyjście w html to mogę generować też działanie na poszczególnych obiektach, mogę dawać opcje "title" itp. Biorę np. objectGetOwnPropertyNames na np. window i dostaje spis funkcji, klikam na nazwe alert i mogę ją wywołać. I tak z różnymi funkcjami. Nie wszystkie działaja. Czasami mam problem z parametrami przekazywanymi do nich. ----

Opiszon --- ale funkcji pod kliknięcie nie wywołam chyba jak stworzę dnamicznie w pętli np. znacznik B i przy nim atrybut onClik żeby wywoływał daną funkcję obiektu? Ja w ten sposób generuję wszystkie zmienne obiektu i wszystkie funkcje. Ja to generuję masowo. Daję element input, przycisk do zmiany wartości i szybciej wszystko modyfikuję. W końcu nie bez powodu Windows wyparł Dos'a.

1 użytkowników online, w tym zalogowanych: 0, gości: 1