Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Tworzenie stron WWW Programowanie webowe JavaScript

document.getElementById("paragraf1").innerHTML = wynik; Przedstawiona linia kodu została zapisana w języku

document.getElementById("paragraf1").innerHTML = wynik;
Przedstawiona linia kodu została zapisana w języku
A. Python
B. PHP
C. JavaScript
D. C#

Pytanie z egzaminu CKE, czerwiec 2020 (arkusz EE.09-SG-20.06).

Ta linia jest zapisana w języku JavaScript, bo używa obiektu document oraz metody getElementById(), które są typowe dla pracy z DOM, czyli Document Object Model w przeglądarce internetowej. Fragment document.getElementById("paragraf1") wyszukuje element HTML o identyfikatorze id równym paragraf1, a właściwość innerHTML pozwala zmienić jego zawartość. Przypisanie innerHTML = wynik oznacza, że do tego elementu zostanie wstawiona wartość zmiennej wynik, na przykład tekst, liczba albo fragment kodu HTML. W praktyce robi się tak np. przy wyświetlaniu wyniku obliczeń formularza, komunikatu po kliknięciu przycisku albo dynamicznej aktualizacji strony bez jej przeładowania. Moim zdaniem to jeden z najbardziej rozpoznawalnych zapisów JavaScriptu w podstawach webowych. Warto jednak pamiętać o dobrej praktyce: jeśli wstawiamy zwykły tekst od użytkownika, bezpieczniej używać textContent zamiast innerHTML, bo innerHTML interpretuje znaczniki HTML i przy nieostrożnym użyciu może prowadzić do podatności XSS. Standardowo JavaScript działa po stronie klienta w przeglądarce i właśnie tam ma bezpośredni dostęp do obiektu document, czego nie mają typowe programy w C#, PHP czy Pythonie bez dodatkowych bibliotek.
Ten zapis nie pasuje do C#, PHP ani Pythona, mimo że na pierwszy rzut oka widać tu ogólne elementy programowania: nazwę obiektu, wywołanie metody, kropki i operator przypisania. Typowy błąd polega na tym, że ktoś rozpoznaje sam znak równości albo nawiasy i uznaje, że to może być prawie dowolny język. W tym przypadku najważniejszy jest jednak kontekst webowy: document.getElementById(...) oraz innerHTML to mechanizmy związane z DOM w przeglądarce, a więc z JavaScriptem. C# może oczywiście tworzyć aplikacje webowe, na przykład w ASP.NET, ale nie używa bezpośrednio globalnego obiektu document w takim stylu po stronie serwera. PHP również jest mocno związany ze stronami WWW, ale wykonuje się zwykle po stronie serwera i generuje HTML przed wysłaniem go do przeglądarki; nie manipuluje gotowym elementem strony przez document.getElementById bez użycia JavaScriptu. Python też może obsługiwać backend przez Django czy Flask, ale jego składnia i środowisko działania są inne. Z mojego doświadczenia najlepiej patrzeć nie tylko na podobieństwo składni, ale na nazwy API i miejsce wykonania kodu. Tutaj API jednoznacznie wskazuje na JavaScript działający w przeglądarce, bo kod odwołuje się do konkretnego elementu dokumentu HTML i zmienia jego zawartość po stronie użytkownika.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.