Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 9 grudnia 2025 10:44
  • Data zakończenia: 9 grudnia 2025 11:17

Egzamin zdany!

Wynik: 33/40 punktów (82,5%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Jaką wartość zobaczymy po wykonaniu poniższego kodu JavaScript?

<script>
document.write(Math.round(4.51)+Math.pow(2,3));
</script>
A. 13
B. 14
C. 12
D. 11
W przedstawionym kodzie JavaScript użyto dwóch metod wbudowanych obiektu Math Math.round i Math.pow. Math.round zaokrągla wartość do najbliższej liczby całkowitej. W przypadku liczby 4.51 zostanie to zaokrąglone do 5 ponieważ 0.51 jest bliżej 1 niż 0. Math.pow wykonuje potęgowanie czyli podnosi liczbę do określonej potęgi. W przypadku Math.pow(2 3) mamy do czynienia z potęgowaniem 2 do potęgi 3 co jest równe 8 ponieważ 2 * 2 * 2 = 8. Następnie te dwie wartości są dodawane do siebie co daje 5 + 8 = 13. Wartość 13 jest wyświetlana na stronie za pomocą document.write co jest prostym sposobem na wypisywanie wyników w kontekście przeglądarki. W praktyce jednak korzystanie z document.write jest odradzane na rzecz bardziej nowoczesnych rozwiązań jak manipulacja DOM czy używanie innerHTML. Dzięki tym metodom możemy skutecznie zarządzać i wyświetlać dane na stronach internetowych co jest kluczowe w nowoczesnym tworzeniu stron WWW. Zrozumienie działania takich funkcji wbudowanych pozwala na efektywne rozwiązywanie problemów związanych z obliczeniami w języku JavaScript co jest bardzo przydatne w pracy programisty.

Pytanie 2

Który z poniższych sposobów na komentarz jednoliniowy jest akceptowany w języku JavaScript?

A. //
B. <!
C. !
D. #
W JavaScript, jeśli chcesz dodać komentarz jednoliniowy, musisz użyć podwójnych ukośników, czyli '//' na początku linii. Te komentarze są naprawdę przydatne, bo pozwalają ci opisać, co robi dany kawałek kodu, albo czasami wyłączyć fragmenty podczas testowania. Co fajne, to że wszystko, co napiszesz za '//' zostanie zignorowane przez interpreter, więc nie będzie miało wpływu na działanie skryptu. Przykład: masz linijkę 'let x = 5; // Ustawia wartość x na 5', i wszystko po '//' nie będzie brane pod uwagę przez JavaScript. Komentarze są zgodne z ECMAScript, który jest takim standardem dla tego języka. Szczerze mówiąc, dobrze jest używać komentarzy do dokumentacji, bo to ułatwia czytanie kodu i pracę z innymi programistami. Pamiętaj, żeby robić je zwięzłe, ale muszą też dobrze tłumaczyć, co miał na myśli autor kodu.

Pytanie 3

Przypisanie w JavaScript, zapisane jako var x=true;, prowadzi do tego, że zmienna x przyjmuje typ

A. wyliczeniowym
B. liczbowym
C. logicznym
D. ciągu znaków
Deklaracja zmiennej w języku JavaScript, przy użyciu słowa kluczowego 'var', tworzy zmienną x, której typ jest logiczny. Typ logiczny (boolean) w JavaScript ma dwa możliwe wartości: true oraz false. Jest to podstawowy typ danych, który jest szeroko używany w programowaniu do reprezentacji wartości prawda/fałsz, co jest niezbędne przy podejmowaniu decyzji, takich jak warunki w instrukcjach if, pętlach czy operacjach logicznych. Dlatego też, przypisanie wartości true do zmiennej x oznacza, że x jest typu boolean, co można zweryfikować za pomocą operatora typeof. W praktycznych zastosowaniach, typ logiczny jest niezwykle ważny, na przykład w formularzach internetowych, gdzie wartości typu boolean mogą określać, czy dany warunek został spełniony. W odniesieniu do standardów, typ boolean jest zdefiniowany w ECMAScript, co czyni go fundamentalnym elementem w programowaniu w tym języku. Zrozumienie typów danych, a szczególnie typu logicznego, jest kluczowe dla efektywnego programowania i optymalizacji kodu.

Pytanie 4

W języku JavaScript zdefiniowano następującą funkcję:

function fun1(f) {
    if (f < 0) f = f * (-1);
    return f;
}
Jej celem jest:
A. Zwrócić wartość bezwzględną argumentu f
B. Wypisać wartość odwrotną do argumentu f
C. Zwrócić wartość odwrotną do argumentu f
D. Wypisać wartość bezwzględną argumentu f
Funkcja w języku JavaScript przedstawiona w pytaniu realizuje zadanie zwracania wartości bezwzględnej z argumentu f. Wartość bezwzględna liczby jest jej odległością od zera na osi liczbowej i jest zawsze liczbą nieujemną. Mechanika działania funkcji polega na sprawdzeniu za pomocą instrukcji warunkowej if czy wartość przekazanego argumentu f jest mniejsza od zera. Jeśli tak, wartość ta jest mnożona przez -1 co przekształca ją w liczbę dodatnią. W przeciwnym razie liczba pozostaje bez zmian. Ostatecznie funkcja zwraca wynik operacji co jest typowym podejściem w programowaniu funkcyjnym. Warto zwrócić uwagę że takie podejście jest zgodne z dobrymi praktykami programistycznymi ponieważ funkcja ma jednoznacznie określony cel i nie powoduje efektów ubocznych takich jak modyfikacja zmiennych globalnych. W realnych projektach często korzysta się z funkcji Math.abs która jest wbudowana w JavaScript i zwraca wartość bezwzględną liczby co jest bardziej wydajnym podejściem i zgodnym ze standardami języka

Pytanie 5

Zademonstrowano fragment kodu JavaScript. Po jego uruchomieniu zmienna str2 otrzyma wartość. ```var str1 = "JavaScript"; var str2 = str1.substring(2, 6);```

A. vaScri
B. avaS
C. vaSc
D. avaScr
W przedstawionym fragmencie kodu JavaScript mamy do czynienia z metodą substring, która jest wykorzystywana do wyodrębnienia części łańcucha tekstowego. Wartością str1 jest 'JavaScript', a błędnie zapisany fragment 'str1.substring2,6)' wskazuje na próbę użycia metody substring, przy czym prawidłowy zapis to 'str1.substring(2, 6)'. Metoda substring przyjmuje dwa argumenty: indeks początkowy oraz indeks końcowy. W przypadku 'JavaScript', indeks 2 wskazuje na literę 'v', a indeks 6 na literę 'S'. Zatem metoda substring wyodrębni znaki od indeksu 2 do 5 (indeks 6 nie jest włączony), co daje wynik 'vaSc'. Warto również podkreślić, że metody pracy z łańcuchami tekstowymi są podstawą programowania w JavaScript, umożliwiając manipulację danymi tekstowymi i są zgodne z ECMAScript, co czyni je standardowymi dla tego języka. Dobrą praktyką jest zawsze zwracanie uwagi na poprawne użycie nawiasów oraz argumentów w metodach, co ma kluczowe znaczenie dla poprawności kodu. Przykład użycia: str1.substring(2, 6) zwróci 'vaSc', a str1.substring(0, 4) zwróci 'Java'.

Pytanie 6

Wyrażenie JavaScript:

document.write(5==='5');
Co zostanie wyświetlone?
A. 0
B. 1
C. false
D. true
Odpowiedź 'false' jest jak najbardziej na miejscu, bo operator '===' w JavaScript sprawdza nie tylko wartość, ale i typ danych. Przykład 'document.write(5 === '5');' pokazuje, że porównujemy liczbę (5) z ciągiem znaków ('5'). To są różne typy, więc nie mogą być równe! Generalnie, lepiej używać '===' w programowaniu, bo to eliminuje niejasności, które mogą się pojawić przy '=='. Ten drugi lubi zamieniać typy, co czasami prowadzi do chaosu. Dobrze jest mieć na uwadze, że w obiektowym programowaniu ważne jest, by typy danych się zgadzały. Używając '===', mamy pewność, że unikniemy niechcianych błędów związanych z typami.

Pytanie 7

Instrukcja JavaScript: document.write5==='5'); co zostanie wyświetlone?

A. false
B. true
C. 1
D. 0
W analizowanym wyrażeniu JavaScript, 'document.write5==='5');', kod ten zawiera błąd składniowy, a także logiczny. Przede wszystkim, użycie 'document.write5' jest niepoprawne, ponieważ 'write' to metoda obiektu 'document', a '5' nie jest częścią tej metody. Poprawna forma powinna wyglądać jak 'document.write(5 === '5');'. W tej poprawionej wersji sprawdzamy, czy liczba 5 jest równa stringowi '5'. W JavaScript operator '===' sprawdza zarówno wartość, jak i typ operandów. W tym przypadku, liczba 5 jest typu number, a '5' jest typu string. Ponieważ typy są różne, wynik porównania będzie 'false'. Przy użyciu operatora '==' wynik byłby 'true', ponieważ operator ten nie sprawdza typów, ale w tym przypadku używamy operatora '===', więc wynik to 'false'. Przykład: '5 === '5'' zwraca 'false', co oznacza, że operacja nie jest prawdziwa. W kontekście standardów ECMAScript, porównania z użyciem '===' są zalecane, aby unikać niejasności i błędów typów.

Pytanie 8

W języku JavaScript, aby zmienić wartość atrybutu elementu HTML, po uzyskaniu obiektu za pomocą metody getElementById, należy zastosować

A. pole innerHTML
B. metodę getAttribute
C. pole attribute i podać nazwę atrybutu
D. metodę setAttribute
Metoda setAttribute w JavaScript jest kluczowym narzędziem do modyfikacji atrybutów elementów DOM. Po uzyskaniu referencji do elementu za pomocą metody getElementById, możemy wykorzystać setAttribute do ustawienia lub zmiany wartości dowolnego atrybutu HTML. Na przykład, aby zmienić atrybut 'src' obrazka, można użyć następującego kodu: const img = document.getElementById('myImage'); img.setAttribute('src', 'newImage.png');. Takie podejście jest zgodne z najlepszymi praktykami, zapewniając elastyczność i kontrolę nad elementami DOM. Metoda ta przyjmuje dwa argumenty: nazwę atrybutu oraz jego nową wartość. Warto pamiętać, że setAttribute działa nie tylko z atrybutami standardowymi, ale również z niestandardowymi i danymi atrybutami, co pozwala na dynamiczne rozszerzanie możliwości HTML. Dobre praktyki zalecają również użycie setAttribute, gdy chcemy zapewnić pełną zgodność z HTML5 i zachować semantykę dokumentu, co jest kluczowe dla dostępności i SEO.

Pytanie 9

DOM oferuje metody oraz właściwości, które w języku JavaScript umożliwiają

A. pobieranie i zmianę elementów strony, która jest wyświetlana przez przeglądarkę
B. przesyłanie danych formularzy bezpośrednio do bazy danych
C. przeprowadzanie operacji na zmiennych zawierających liczby
D. manipulację łańcuchami zdefiniowanymi w kodzie
Dobra robota! Odpowiedź jest poprawna, bo to właśnie DOM, czyli Document Object Model, pozwala programistom na zmianę struktury i stylu dokumentów HTML i XML. Dzięki DOM w JavaScript można na bieżąco zmieniać treść i układ strony bez konieczności jej przeładowania. Weźmy na przykład taki przypadek: chcemy zmienić tekst w elemencie <h1>. Robimy to, wybierając ten element metodą `document.getElementById()` i przypisując nową wartość do `innerHTML`. Standardy W3C mówią, jak to wszystko ma działać, dzięki czemu DOM jest uznawany w branży. Umiejętność manipulacji DOM jest mega ważna przy tworzeniu interaktywnych aplikacji webowych, jak różne formularze, które pozwalają użytkownikom dodawać i edytować dane. Dobrze wykorzystany DOM sprawia, że aplikacje są szybsze i bardziej responsywne, co jest kluczowe w nowoczesnym programowaniu front-end.

Pytanie 10

Jakie będzie wyjście programu napisanego w języku JavaScript, umieszczonego w ramce, po podaniu wartości 5 na wejściu?

Ilustracja do pytania
A. 125
B. 120
C. 60
D. 625
Pytanie dotyczy obliczenia silni liczby podanej przez użytkownika w języku JavaScript. Program przy użyciu pętli for oblicza silnię liczby n, zaczynając od wartości a równej 1. Silnia liczby, oznaczana jako n!, to iloczyn wszystkich liczb naturalnych od 1 do n. W tym przypadku, użytkownik podaje liczbę 5, co oznacza że program oblicza 5! czyli 5 * 4 * 3 * 2 * 1. Wynik tego działania to 120, co jest poprawną odpowiedzią. Silnia jest często wykorzystywana w kombinatoryce i statystyce, a także w algorytmach związanych z analizą permutacji. Wykorzystanie pętli for w tym kontekście jest powszechną praktyką w programowaniu, umożliwiającą iterację poprzez określony zakres liczb oraz wykonywanie logicznych działań w złożonych obliczeniach algorytmicznych. Dobrą praktyką jest zrozumienie, jak działają pętle i jawne przypisywanie wartości początkowych zmiennych, co ułatwia debugowanie i rozwój kodu. Tego typu operacje matematyczne są podstawą wielu zaawansowanych zastosowań, od teoretycznych podstaw algorytmów do praktycznych implementacji w analizach danych.

Pytanie 11

Aby uruchomić skrypt JavaScript, potrzebne jest oprogramowanie

A. serwera MySQL
B. debuggera JavaScript
C. przeglądarki internetowej
D. serwera WWW
Aby uruchomić skrypt JavaScript, niezbędne jest posiadanie przeglądarki internetowej, która obsługuje JavaScript. Przeglądarki takie jak Chrome, Firefox, Safari czy Edge zawierają silniki JavaScript, które interpretują i wykonują skrypty na stronach internetowych. Przykładowo, gdy użytkownik wchodzi na stronę internetową, która wykorzystuje JavaScript do dynamicznego ładowania treści lub interakcji z użytkownikiem, przeglądarka przetwarza skrypty w czasie rzeczywistym, co wpływa na doświadczenie użytkownika. Przeglądarki regularnie aktualizują swoje silniki, co przyczynia się do poprawy wydajności i bezpieczeństwa. Dodatkowo, korzystanie z narzędzi deweloperskich w przeglądarkach, takich jak konsola JavaScript, umożliwia programistom testowanie i debugowanie skryptów w łatwy sposób. W kontekście standardów webowych, JavaScript jest kluczowym elementem technologii front-end, współpracując z HTML i CSS, aby zapewnić interaktywność i responsywność stron internetowych. Warto również zauważyć, że niektóre frameworki, takie jak React czy Angular, również opierają się na JavaScript, co podkreśla jego znaczenie w nowoczesnym web developmencie.

Pytanie 12

W skrypcie JavaScript zmienne mogą być definiowane

A. wyłącznie na początku skryptu
B. jedynie wtedy, gdy podamy typ zmiennej oraz jej nazwę
C. w chwili pierwszego użycia zmiennej
D. zawsze poprzedzone znakiem $ przed nazwą
Wykorzystanie zmiennych w JavaScript jest bardziej elastyczne i złożone, niż sugerują tego niektóre odpowiedzi. Faktem jest, że w JavaScript nie ma wymogu deklarowania zmiennych na początku skryptu. Odpowiedź sugerująca, że zmienne mogą być deklarowane tylko na początku, jest nieprawidłowa, ponieważ JavaScript pozwala na deklarację w dowolnym miejscu kodu, a silnik interpretuje zmienne zgodnie z regułami hoistingu. Kolejna niepoprawna koncepcja związana jest z mylnym przekonaniem, że wcześniej należy określić typ zmiennej. JavaScript jest językiem dynamicznie typowanym, co oznacza, że nie jest konieczne podawanie typu przy deklaracji zmiennej. Dla przykładu, w wielu językach programowania, jak Java czy C#, typ musi być jawnie określony, lecz w JavaScript nie jest to wymagane, co czyni kod bardziej zwięzłym i elastycznym. Ponadto, stwierdzenie, że zmienne w JavaScript muszą być poprzedzone znakiem '$', również jest błędne. Chociaż '$' jest dozwolony w nazwach zmiennych, nie jest to wymóg. Dobre praktyki programistyczne sugerują, aby nazwy zmiennych były zrozumiałe i opisywały ich zawartość, co zwiększa czytelność kodu. W związku z tym, zrozumienie, jak i gdzie można deklarować zmienne w JavaScript, jest kluczowe dla efektywnego pisania kodu w tym języku.

Pytanie 13

Jakiego języka należy użyć, aby stworzyć skrypt realizowany po stronie klienta w przeglądarki internetowej?

A. JavaScript
B. Python
C. Perl
D. PHP
JavaScript to język skryptowy, który super nadaje się do interakcji z użytkownikami w przeglądarkach. Właściwie to jedyny język z tej całej paczki, który działa po stronie klienta. To znaczy, że skrypty w JavaScript są interpretowane przez przeglądarkę, a nie przez serwer. Można go używać na przykład do zmieniania treści stron w locie, walidacji formularzy, animacji i różnych interaktywnych elementów. Jest też ważnym elementem w technologiach internetowych, obok frameworków jak React, Angular czy Vue.js, które pomagają tworzyć nowoczesne aplikacje webowe. Uważam, że każdy programista webowy powinien znać JavaScript przynajmniej na poziomie średnim, żeby wdrażać dobre praktyki dotyczące wydajności i UX. Standardy takie jak ECMAScript mówią, jak ten język ma działać, a jego wszechstronność sprawia, że obecnie jest jednym z najpopularniejszych języków programowania na świecie. Ostatnio dużo mówi się też o używaniu go po stronie serwera z Node.js.

Pytanie 14

Jakie jest zadanie funkcji przedstawionej w języku JavaScript?

 function fun1(a, b) {
    if (a % 2 != 0) a++;
    for (n = a; n <= b; n+=2)
        document.write(n);
}
A. wypisanie wszystkich liczb z zakresu od a do b
B. sprawdzenie, czy liczba a jest nieparzysta; w przypadku potwierdzenia, wypisanie jej
C. wypisanie liczb parzystych z zakresu od a do b
D. zwrócenie wartości liczb parzystych od a do b
Odpowiedź "wypisanie liczb parzystych z przedziału od a do b" jest prawidłowa, ponieważ funkcja fun1(a, b) w języku JavaScript ma na celu wyświetlenie wszystkich liczb parzystych w zdefiniowanym zakresie. Funkcja najpierw sprawdza, czy liczba a jest nieparzysta; jeśli tak, to zwiększa ją o 1, co zapewnia, że zaczynamy od najbliższej liczby parzystej. Następnie, za pomocą pętli for, iteruje przez liczby od a do b, zwiększając n o 2 w każdej iteracji. Dzięki temu wypisujemy tylko liczby parzyste. Przykładowo, jeśli a = 3 i b = 9, to funkcja zacznie od 4 i wypisze 4, 6, i 8. Tego typu funkcje są przydatne w różnych kontekstach programistycznych, takich jak generowanie sekwencji liczb dla algorytmów matematycznych, generowanie danych testowych czy też przy pracy z interfejsami użytkownika, gdzie występują interwały liczbowe. Dobrą praktyką jest zawsze jasno określać zakres przetwarzanych danych, co ta funkcja realizuje, zapewniając, że wyniki są zgodne z oczekiwaniami użytkownika.

Pytanie 15

W jakiej technologii niemożliwe jest przetwarzanie danych wprowadzanych przez użytkownika na stronie WWW?

A. AJAX
B. PHP
C. CSS
D. JavaScript
PHP, AJAX i JavaScript to technologie, które mają zdolność do przetwarzania danych użytkownika wprowadzanych na stronach WWW. PHP jest językiem skryptowym po stronie serwera, który może obsługiwać dane użytkowników z formularzy, przetwarzać je, a następnie zwracać odpowiedzi do klienta. Dzięki PHP można na przykład zbierać dane z formularzy rejestracyjnych, walidować je i przechowywać w bazach danych. AJAX, będący technologią asynchronicznego przetwarzania danych, pozwala na komunikację z serwerem bez potrzeby przeładowywania strony. Dzięki AJAX użytkownicy mogą wprowadzać dane w formularzach i otrzymywać na bieżąco odpowiedzi z serwera, co poprawia interaktywność aplikacji internetowych. JavaScript, jako język skryptowy po stronie klienta, umożliwia manipulację danymi wprowadzanymi przez użytkowników i wykonuje walidację danych w czasie rzeczywistym. Przykładowo, JavaScript może kontrolować poprawność danych w formularzach przed ich wysłaniem na serwer, co zapobiega błędom i zwiększa użyteczność aplikacji. Dlatego, w przeciwieństwie do CSS, te technologie są kluczowe dla przetwarzania i interakcji z danymi użytkowników, co sprawia, że są niezbędne w nowoczesnym web developmencie.

Pytanie 16

W JavaScript zdarzenie onKeydown zostanie wywołane, gdy klawisz

A. myszki został naciśnięty
B. klawiatury został zwolniony
C. klawiatury został naciśnięty
D. myszki został zwolniony
Zdarzenie onKeydown w JavaScript jest wywoływane, gdy użytkownik naciśnie klawisz na klawiaturze. To fundamentalne zdarzenie jest często wykorzystywane w aplikacjach webowych do obsługi interakcji użytkowników, takich jak wprowadzanie danych czy nawigacja po formularzach. W momencie naciśnięcia klawisza, przeglądarka emituje to zdarzenie, co pozwala programistom na reagowanie na konkretne akcje. Na przykład, jeśli chcemy stworzyć prostą grę opartą na ruchu postaci, możemy wykorzystać onKeydown do wykrywania klawiszy strzałek i poruszania postacią w odpowiednich kierunkach. Warto również zauważyć, że onKeydown różni się od onKeyup, które jest wywoływane, gdy klawisz jest zwolniony, co ma znaczenie w przypadku obsługi sekwencji klawiszy oraz klawiszy modyfikujących, takich jak Shift czy Ctrl. Zrozumienie tych różnic jest kluczowe dla tworzenia responsywnych i interaktywnych aplikacji webowych, zgodnych z najlepszymi praktykami programowania.

Pytanie 17

Dla jakiej wartości zmiennej x instrukcja warunkowa w JavaScript jest spełniona?

if ((x < -5) || (x > 2))
    x++;
A. 3
B. -1
C. 2
D. -4
W danym przykładzie mamy do czynienia z instrukcją warunkową w języku JavaScript, która sprawdza, czy zmienna x spełnia jedno z dwóch warunków: x jest mniejsze od -5 lub x jest większe od 2. Operator logiczny OR (||) oznacza, że wystarczy spełnienie jednego z tych warunków, aby kod wewnętrzny został wykonany. Dla wartości x równej 3, warunek (x > 2) jest spełniony, ponieważ 3 jest większe od 2. W rezultacie instrukcja x++ zostanie wykonana, co oznacza inkrementację zmiennej x, czyli zwiększenie jej wartości o 1. Jest to przykład typowego zastosowania operatorów logicznych w programowaniu do kontroli przepływu programu. W praktyce umiejętność stosowania takich instrukcji jest kluczowa w tworzeniu kodu zdolnego do dynamicznej reakcji na różne warunki wejściowe. Ponadto, użycie operatora inkrementacji jest zgodne z najlepszymi praktykami w optymalizacji kodu, gdyż jest to szybki i efektywny sposób na modyfikację wartości liczbowych.

Pytanie 18

W języku JavaScript funkcja matematyczna Math.pow() jest wykorzystywana do obliczania

A. przybliżonej wartości liczby
B. pierwiastka kwadratowego z liczby
C. bezwzględnej wartości liczby
D. potęgi liczby
Funkcja Math.pow() w języku JavaScript służy do obliczania potęgi liczby, co oznacza, że zwraca wynik mnożenia danej liczby przez siebie określoną liczbę razy. Jej składnia to Math.pow(base, exponent), gdzie 'base' to liczba, którą chcemy podnieść do potęgi, a 'exponent' to wykładnik potęgi. Przykładowo, Math.pow(2, 3) zwróci 8, ponieważ 2^3=2*2*2=8. Użycie tej funkcji jest niezwykle powszechne w programowaniu, zwłaszcza w obliczeniach matematycznych, grafice komputerowej oraz w algorytmach naukowych. Zastosowanie Math.pow() jest zgodne z najlepszymi praktykami, ponieważ pozwala na klarowność i czytelność kodu. Warto dodać, że w ES6 możemy również używać operatora potęgowania **, co jest syntaktycznie prostsze i bardziej intuicyjne, np. 2 ** 3 również da nam 8.

Pytanie 19

Podany fragment dokumentu HTML zawierający kod JavaScript sprawi, że po naciśnięciu przycisku

Ilustracja do pytania
A. obraz1.png zostanie zniknięty
B. obraz2.png zostanie wymieniony na obraz1.png
C. obraz2.png zostanie zniknięty
D. obraz1.png zostanie wymieniony na obraz2.png
Załączony fragment kodu HTML pokazuje dwa elementy img oraz przycisk. Obrazek obraz2.png ma przypisany atrybut id o wartości id1. W kodzie JavaScript przypisanym do zdarzenia onclick przycisku wykorzystywana jest metoda document.getElementById('id1').style.display='none'. Ta metoda odwołuje się bezpośrednio do elementu o identyfikatorze id1 czyli obrazka obraz2.png i zmienia jego styl CSS display na none. W praktyce oznacza to że element ten zostanie ukryty na stronie po naciśnięciu przycisku. Praktyczne zastosowanie tej techniki to dynamiczne zarządzanie widocznością elementów na stronie bez konieczności jej przeładowania co poprawia doświadczenie użytkownika. Tego typu manipulacje DOM (Document Object Model) są podstawą interaktywnych aplikacji webowych i są powszechnie używane w nowoczesnym programowaniu JavaScript. Dobrym standardem jest jednak unikanie bezpośredniego pisania skryptów JavaScript w HTML co poprawia czytelność kodu i jego utrzymywalność

Pytanie 20

Wskaż, który z poniższych jest poprawnym zapisem zmiennej w języku JavaScript.

A. var $name@ = 10;
B. var 2nameVar = 10;
C. let variableName = 10;
D. const var-name = 10;
W języku JavaScript deklaracja zmiennej przy użyciu słowa kluczowego <code>let</code> jest obecnie jedną z najczęściej stosowanych praktyk. Ma ona na celu stworzenie zmiennej o zasięgu blokowym, co oznacza, że zmienna jest dostępna tylko w obrębie bloku kodu, w którym została zadeklarowana. To podejście pozwala na bardziej elastyczne i bezpieczne zarządzanie zmiennymi w kodzie, minimalizując ryzyko błędów związanych z niezamierzonym nadpisywaniem wartości. Zmienna <code>variableName</code> jest poprawnie zapisana zgodnie z konwencjami JavaScript: zaczyna się od litery i składa się wyłącznie z liter oraz cyfr. Wartość 10 przypisana do tej zmiennej to liczba całkowita. Deklaracja <code>let</code> jest preferowana w stosunku do <code>var</code> z uwagi na lepsze zarządzanie zasięgiem i uniknięcie problemów związanych z hoistingiem. Ponadto, stosowanie jasnych i opisowych nazw zmiennych, jak <code>variableName</code>, jest dobrą praktyką programistyczną, ułatwiającą zrozumienie i utrzymanie kodu.

Pytanie 21

Jakie metody są związane z predefiniowanym obiektem Date w języku JavaScript?

A. fromCodePoint()
B. row()
C. getMonth() oraz getDay()
D. concat() oraz pop()
W języku JavaScript obiekt Date jest predefiniowanym obiektem, który umożliwia operacje związane z datami i czasem. Metody getMonth() oraz getDay() są kluczowymi funkcjami, które pozwalają na uzyskanie informacji o dacie. Metoda getMonth() zwraca miesiąc danej daty, przy czym wartości są indeksowane od 0 (styczeń) do 11 (grudzień). Z kolei metoda getDay() zwraca dzień tygodnia, gdzie wartości wynoszą od 0 (niedziela) do 6 (sobota). Przykładowe użycie tych metod może wyglądać następująco: var date = new Date('2023-10-05'); var month = date.getMonth(); var day = date.getDay(); console.log(month); // 9, console.log(day); // 4. Zgodnie z dokumentacją ECMAScript, obiekt Date i jego metody są standardem w JavaScript, co czyni je niezbędnymi w programowaniu webowym oraz aplikacjach. Dzięki tym metodom programiści mogą efektywnie zarządzać datami w różnych kontekstach, od planowania wydarzeń po analizy czasowe.

Pytanie 22

DOM oferuje funkcje i atrybuty, które w JavaScript umożliwiają

A. przesyłanie danych formularza bezpośrednio do bazy danych
B. wykonywanie operacji na zmiennych przechowujących wartości liczbowe
C. manipulowanie łańcuchami zadeklarowanymi w kodzie
D. pobieranie i modyfikowanie elementów strony załadowanej w przeglądarce
DOM (Document Object Model) to interfejs programistyczny, który umożliwia manipulację strukturą dokumentu HTML lub XML za pomocą języka JavaScript. Odpowiedź dotycząca pobierania i modyfikowania elementów strony jest poprawna, ponieważ DOM dostarcza zestaw metod, takich jak getElementById, getElementsByClassName, czy querySelector, które pozwalają programistom na selekcję, edytowanie, dodawanie lub usuwanie elementów w drzewie DOM. Na przykład, używając metody document.getElementById('example'), możemy uzyskać dostęp do konkretnego elementu na stronie oraz zmienić jego zawartość, styl czy atrybuty. Takie manipulacje są kluczowe w tworzeniu interaktywnych aplikacji webowych, które reagują na działania użytkownika, co jest zgodne z najlepszymi praktykami w zakresie programowania front-end. Zmiany w DOM mogą także wpływać na wydajność strony, dlatego stosowanie odpowiednich metod i technik, takich jak unikanie zbyt częstych reflowów czy repaints, jest niezbędne dla optymalizacji. Warto również zaznaczyć, że stosowanie bibliotek, takich jak jQuery, może uprościć proces manipulacji DOM.

Pytanie 23

W języku JavaScript funkcja document.getElementById(id) służy do

A. uzyskania odniesienia do pierwszego elementu HTML o wskazanym id
B. umieszczenia tekstu 'id' na stronie WWW
C. sprawdzania poprawności formularza z identyfikatorem id
D. pobierania danych z pola formularza i przypisania ich do zmiennej id
Metoda document.getElementById(id) jest kluczowym elementem API DOM (Document Object Model) w JavaScript, służącym do manipulacji elementami HTML na stronie internetowej. Jej głównym zadaniem jest zwrócenie odniesienia do pierwszego elementu, który ma określony identyfikator (id). Identyfikatory w HTML muszą być unikalne w obrębie dokumentu, co pozwala na efektywne i bezbłędne znajdowanie konkretnego elementu. Na przykład, jeśli mamy element o id 'header', możemy go uzyskać za pomocą document.getElementById('header'). To odniesienie pozwala nam na dalsze manipulacje tym elementem, takie jak zmiana jego zawartości, stylów CSS czy atrybutów. Przykładowe zastosowanie polega na tym, iż możemy zmienić tekst nagłówka na 'Witaj w moim serwisie' poprzez: document.getElementById('header').innerText = 'Witaj w moim serwisie'. Tego typu operacje są fundamentem interaktywnych aplikacji webowych i są zgodne z dobrymi praktykami w zakresie programowania JavaScript, które promują jasny i zrozumiały dostęp do struktury dokumentu.

Pytanie 24

Po wykonaniu fragmentu kodu HTML i JavaScript na stronie będzie wyświetlony obraz z pliku

<img id="obraz" src="kol1.jpg">
<button id="przycisk">Przycisk</button>

<script>
    document.getElementById("obraz").src = "kol2.jpg";
</script>
A. kol1.jpg
B. kol1.jpg, który może być zmieniony na kol2.jpg po wciśnięciu przycisku.
C. kol2.jpg
D. kol2.jpg, który może być zmieniony na kol1.jpg po wciśnięciu przycisku.
Niestety, nie trafiłeś. Wybierając 'kol1.jpg', mylisz się co do działania JavaScript w kontekście zmiany elementów na stronie. Skrypt używa getElementById, żeby znaleźć obraz o identyfikatorze 'obraz', a potem zmienia atrybut 'src' na 'kol2.jpg'. Tutaj nie ma żadnej interakcji z użytkownikiem, która mogłaby zmienić obrazek. W praktyce jednak, JavaScript daje nam możliwość dynamicznego modyfikowania elementów na stronie, co jest kluczowe przy tworzeniu takich interaktywnych stron. Na przykład, można wykorzystać tą samą metodę do zmiany obrazu, gdy ktoś na niego najedzie albo wciśnie przycisk. W tym przypadku jednak, to nie jest to, co się dzieje. Warto też zrozumieć, że 'kol1.jpg' to nie jest dobra odpowiedź, bo to obraz, który miałby być zmieniony, a nie ten, który się wyświetli.

Pytanie 25

bool gotowe=true;
cout<<gotowe;
Jakie będzie wyjście w wyniku wykonania podanych poleceń?

A. Nie
B. Tak
C. 1
D. 0
Po wykonaniu poleceń na ekranie zobaczysz '1'. Zmienna 'gotowe' jest ustawiona jako typ bool i ma wartość true. W C++ typ bool może mieć dwie wartości: true lub false. Kiedy zmienną bool wyświetlamy przy użyciu cout, to 'true' pokazuje się jako '1', a 'false' jako '0'. To jest zgodne z zasadami C++, które mówią, że wartości logiczne są traktowane jako liczby całkowite. Z mojego doświadczenia, zrozumienie tego, jak C++ interpretuje różne typy danych, jest naprawdę istotne w programowaniu, bo pomaga lepiej ogarnąć działanie kodu, a także poprawić algorytmy. Na przykład, jeśli programista ma świadomość, że true to 1, może wykorzystać tę wiedzę przy operacjach na liczbach lub podczas tworzenia warunków. To fajnie działa, zwłaszcza gdy zaczynamy tworzyć bardziej złożone struktury danych.

Pytanie 26

Kod źródłowy przedstawiony poniżej ma na celu wyświetlenie

Ilustracja do pytania
A. losowych liczb od 0 do 100, aż do wylosowania wartości 0
B. wylosowanych liczb z zakresu od 1 do 99
C. ciągu liczb od 1 do 100
D. liczb wprowadzonych z klawiatury, aż do momentu wprowadzenia wartości 0
Kod źródłowy przedstawiony w pytaniu inicjuje losowanie liczb w przedziale od 0 do 100 i wyświetla je na ekranie aż do momentu wylosowania liczby 0. Taki sposób działania jest możliwy dzięki zastosowaniu pętli while która wykonuje się dopóki warunek w niej zawarty jest spełniony. W tym przypadku warunek ten to różność zmiennej liczba od zera. Funkcja rand(0 100) generuje losowe liczby całkowite z zadanego przedziału. W momencie wylosowania wartości 0 pętla przestaje się wykonywać co skutkuje zakończeniem procesu wyświetlania liczb na ekranie. Tego typu pętle są często używane w programowaniu do tworzenia losowych zdarzeń np. w grach komputerowych gdzie potrzebne jest dynamiczne generowanie wartości. Warto zwrócić uwagę na to że funkcja rand jest standardową funkcją w wielu językach programowania pozwalającą na generowanie losowych liczb co jest przydatne w testowaniu algorytmów w różnych warunkach. Praktyka ta wspomaga proces nauki i doskonalenia umiejętności programistycznych dzięki możliwości symulacji losowych scenariuszy.

Pytanie 27

W języku JavaScript, aby zweryfikować, czy liczba leży w zakresie (100, 200>, należy użyć następującego zapisu:

A. If (liczba > 100 || liczba <=200)
B. If (liczba < 100 && liczba <=200)
C. If (liczba < 100 || liczba >=200)
D. If (liczba > 100 && liczba <=200)
Wyrażenie warunkowe 'if (liczba > 100 && liczba <= 200)' jest całkiem dobrze skonstruowane. Precyzyjnie wskazuje, że interesują nas liczby od 101 do 200, z tym że 200 jest uwzględniona, a 100 już nie. Operator '&&' (AND) działa tutaj, bo musi być spełniony zarówno pierwszy, jak i drugi warunek, co jest bardzo istotne w tym przypadku. W praktyce takie warunki można często spotkać w aplikacjach webowych, szczególnie przy walidacji danych. Na przykład w formularzach, gdzie użytkownicy muszą podać wartości mieszczące się w danym zakresie. Umiejętne korzystanie z operatorów logicznych to dobra praktyka w programowaniu. Dzięki temu kod jest bardziej czytelny oraz łatwiejszy do utrzymania. Warto też pamiętać, że różne biblioteki i frameworki mają własne metody walidacji, ale znajomość podstawowych zasad programowania w JavaScript jest kluczowa, żeby móc je dobrze wykorzystywać.

Pytanie 28

Aby w JavaScript wykonać wymienione kroki:

1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikację: ",
   następnie po zatwierdzeniu
2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się
   wartość pobrana z okna "Kwalifikacja: ..."
należy w znaczniku <script> umieścić kod
A. A = prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);

B. A = prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " .A);

C. A = alert("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);

D. A << prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);
A. A.
B. C.
C. B.
D. D.
Dobra robota! W JavaScript, aby wyświetlić okno, w którym użytkownik może wpisać swoje kwalifikacje, najlepiej użyć funkcji `prompt`. Ta funkcja wyświetla okienko, w które można coś wpisać, a to co wprowadzisz, zostaje zwrócone. Potem, żeby pokazać te dane na stronie, używamy funkcji `document.write`. Dzięki temu możemy dynamicznie dodawać tekst na stronę, co jest super przydatne, gdy chcemy, żeby użytkownik wpisał jakieś informacje, które od razu wyświetlamy. Moim zdaniem, to fajny sposób na interakcję z użytkownikami!

Pytanie 29

W jakim przypadku w JavaScript warunek jest spełniony, jeśli zmienna x przyjmuje wartość

if ((!isNaN(x)) && (x > 0))
A. pusty ciąg znaków
B. nie-liczbową wartość
C. wszelką całkowitą wartość liczbową
D. wszelką dodatnią wartość liczbową
Warunek zapisany w JavaScript if (!isNaN(x) && x>0) jest prawdziwy, gdy zmienna x przechowuje dowolną dodatnią wartość liczbową Takie podejście jest zgodne z dobrymi praktykami programistycznymi ponieważ umożliwia skuteczne sprawdzenie czy wartość jest zarówno liczbowa jak i dodatnia Funkcja isNaN(x) zwraca true gdy x nie jest liczbą co powoduje że !isNaN(x) zwraca true tylko wtedy gdy x jest liczbą Następnie dodatkowy warunek x>0 sprawdza czy liczba jest większa od zera co oznacza że jest dodatnia Takie warunki są często używane w aplikacjach webowych do walidacji danych użytkownika Na przykład podczas wprowadzania kwoty transakcji system może używać podobnego warunku aby upewnić się że użytkownik nie wprowadza ujemnych wartości co mogłoby prowadzić do błędów logicznych w aplikacji Używanie takich warunków wspiera bezpieczeństwo i poprawność kodu co jest kluczowe w profesjonalnym środowisku programistycznym Dodatkowo takie podejście jest zgodne z zasadą przewidywalności działania kodu co jest istotne dla zapewnienia jego łatwej utrzymywalności i czytelności dla innych programistów

Pytanie 30

Jakie będzie działanie podanych instrukcji JavaScript?

var elementy = document.getElementsByClassName("styl1");
  for(var i = 0; i < elementy.length; i++)
    elementy[i].style.fontWeight = "bolder";
A. Jedynie dla elementu o id równym styl1 będzie przypisany styl pogrubienia tekstu na bolder
B. Dla wszystkich elementów na stronie zostanie zastosowany styl pogrubienia tekstu na bolder
C. Dla wszystkich elementów przypisanych do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
D. Wyłącznie dla pierwszego elementu przypisanego do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
Instrukcje JavaScript w pytaniu wykorzystują metodę getElementsByClassName aby pobrać kolekcję wszystkich elementów na stronie które posiadają przypisaną klasę styl1. Metoda ta zwraca obiekt typu HTMLCollection który przypomina tablicę i zawiera odniesienia do elementów DOM posiadających określoną klasę. Następnie za pomocą pętli for przechodzimy przez każdy z tych elementów i zmieniamy ich styl na bolder przypisując nową wartość do właściwości style.fontWeight. Dzięki temu każdy element w kolekcji zostaje zmodyfikowany i wyświetlany z pogrubioną czcionką. Takie podejście jest zgodne z dobrymi praktykami w zakresie manipulacji DOM w JavaScript gdyż jest to sposób efektywny i bezpośredni. Użycie klas do grupowania elementów HTML pozwala na jednoczesne stosowanie stylów i operacji na grupach elementów co jest kluczowe w dynamicznym modelu tworzenia stron internetowych. Warto zwrócić uwagę na fakt że nazwy klas są czułe na wielkość liter co oznacza że styl1 i Styl1 byłyby traktowane jako różne klasy.

Pytanie 31

Język JavaScript wspiera

A. funkcje wirtualne
B. abstrakcyjne klasy
C. obiekty DOM
D. wysyłanie ciastek z identycznymi informacjami do wielu użytkowników strony
Obiekty DOM (Document Object Model) są fundamentalnym aspektem języka JavaScript, umożliwiającym interakcję z dokumentami HTML i XML. Dzięki DOM, programiści mogą dynamicznie manipulować strukturą dokumentu, co pozwala na tworzenie interaktywnych aplikacji webowych. Na przykład, za pomocą JavaScript można zmieniać tekst w elementach HTML, dodawać lub usuwać elementy, a także reagować na zdarzenia użytkownika, takie jak kliknięcia czy ruchy myszy. Przykładowy kod: document.getElementById('example').innerHTML = 'Nowa zawartość'; ilustruje, jak można zmienić zawartość elementu z identyfikatorem 'example'. Zrozumienie i umiejętność pracy z DOM jest kluczowe w nowoczesnym tworzeniu stron internetowych oraz aplikacji w JavaScript, co wpisuje się w najlepsze praktyki rozwoju oprogramowania, takie jak separacja logiki od prezentacji i programowanie obiektowe.

Pytanie 32

Na stronie internetowej znajduje się formularz, do którego trzeba zaprogramować następujące funkcje:
– walidacja: podczas wypełniania formularza na bieżąco jest kontrolowana poprawność danych
– przesyłanie danych: po wypełnieniu formularza i jego zatwierdzeniu informacje są przesyłane do bazy danych na serwerze
Aby zrealizować tę funkcjonalność w możliwie najprostszy sposób, należy zapisać

A. walidację i przesyłanie danych w języku PHP
B. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
C. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
D. walidację i przesyłanie danych w języku JavaScript
Walidacja w języku JavaScript jest kluczowym elementem tworzenia interaktywnych formularzy internetowych, ponieważ pozwala na sprawdzenie poprawności danych w czasie rzeczywistym, zanim użytkownik prześle formularz na serwer. Dzięki temu użytkownik otrzymuje natychmiastową informację zwrotną i może poprawić ewentualne błędy, co znacząco poprawia doświadczenie użytkownika. Typowe przykłady walidacji obejmują sprawdzanie, czy pola nie są puste, czy wprowadzone dane odpowiadają oczekiwanemu formatowi (np. adres e-mail czy numer telefonu). Po zatwierdzeniu formularza, przesyłanie danych do bazy danych powinno odbywać się przez skrypt PHP, który efektywnie obsługuje komunikację z serwerem i umożliwia zapis danych w bazie. PHP jest powszechnie stosowany w backendzie, co czyni go idealnym wyborem do przetwarzania i przechowywania danych. Przy takiej architekturze aplikacji webowej korzystamy z dobrych praktyk, takich jak oddzielenie logiki frontendowej od backendowej, co zwiększa bezpieczeństwo oraz łatwość w utrzymaniu aplikacji. Ponadto, zastosowanie AJAX w JavaScript do asynchronicznego przesyłania danych bez przeładowania strony stanowi dodatkowy atut, który poprawia płynność działania aplikacji.

Pytanie 33

W jakim języku została napisana podana linia kodu

Ilustracja do pytania
A. JavaScript
B. C#
C. Python
D. PHP
Kod pokazany na obrazku jest zapisany w języku JavaScript. JavaScript jest językiem programowania, który odgrywa kluczową rolę w tworzeniu dynamicznych i interaktywnych stron internetowych. Linia kodu wykorzystuje metodę document.getElementById która jest częścią Document Object Model (DOM) w JavaScript. DOM pozwala na manipulację elementami HTML strony internetowej. W tym wypadku, metoda getElementById odwołuje się do elementu o identyfikatorze paragraf1, a właściwość innerHTML umożliwia zmianę zawartości tego elementu. To podejście jest powszechnie stosowane w celu dynamicznej aktualizacji treści na stronach bez konieczności przeładowania całej strony. Znajomość JavaScriptu pozwala na tworzenie bardziej responsywnych i atrakcyjnych wizualnie aplikacji webowych. JavaScript jest integralną częścią stosu technologii sieciowych i jest szeroko stosowany w praktycznie każdej nowoczesnej witrynie internetowej. Standardy ECMAScript definiują zasady i poprawne użycie JavaScript, co wspiera rozwój profesjonalny i zgodny z dobrymi praktykami.

Pytanie 34

Jakie zdarzenie należy wykorzystać, aby funkcja JavaScript była aktywowana za każdym razem, gdy użytkownik wprowadza jakikolwiek znak w polu tekstowym?

A. onkeydown
B. onmouseout
C. onclick
D. onload
Odpowiedzi onload, onclick oraz onmouseout nie są odpowiednie do zadania, ponieważ każde z tych zdarzeń ma inne zastosowanie i nie odpowiada wymaganiom związanym z rejestrowaniem wprowadzania tekstu przez użytkownika. Zdarzenie 'onload' jest wywoływane, gdy strona internetowa lub element zasobu (np. obraz) jest w pełni załadowany. Jest to idealne do inicjalizacji skryptów lub stylów, ale nie reaguje na interakcje użytkownika w czasie rzeczywistym. 'onclick' dotyczy sytuacji, gdy użytkownik klika element, co nie jest wystarczające do uchwycenia zmian dokonywanych w polu edycji podczas pisania. W związku z tym, nie będzie skuteczne w kontekście, gdy chcemy wykrywać każdy naciśnięty klawisz. Z kolei 'onmouseout' jest wywoływane, gdy kursor myszy opuszcza dany element na stronie. Użycie tego zdarzenia mogłoby prowadzić do nieprzewidywalnych efektów i nie miałoby żadnego znaczenia w kontekście wprowadzania tekstu przez użytkownika. Z tego powodu, aby prawidłowo zareagować na wprowadzanie danych, zastosowanie 'onkeydown' jest zdecydowanie najbardziej odpowiednie.

Pytanie 35

Kod JavaScript uruchomiony w wyniku kliknięcia przycisku ma na celu <img id="i1" src="obraz1.gif"> <button onclick="document.getElementById('i1').src='obraz2.gif'"> test</button>

A. zamienić obraz1.gif na obraz2.gif
B. wyświetlić obraz2.gif obok obraz1.gif
C. zmienić styl obrazu o id równym i1
D. ukryć obraz2.gif
Odpowiedź 'zamienić obraz1.gif na obraz2.gif' jest poprawna, ponieważ kod JavaScript w przycisku jest odpowiedzialny za zmianę źródła obrazu. W momencie kliknięcia przycisku, funkcja `document.getElementById('i1').src='obraz2.gif'` przypisuje nowe źródło do elementu o identyfikatorze 'i1', co efektywnie powoduje wyświetlenie obraz2.gif zamiast obraz1.gif. Tego typu manipulacje DOM są powszechnie stosowane w interaktywnych aplikacjach webowych, gdzie użytkownik wchodzi w interakcję z różnymi elementami. Przykładem zastosowania tej techniki może być tworzenie galerii zdjęć, gdzie użytkownik klika na miniaturkę, a główny obrazek zostaje zmieniony na wybrane zdjęcie. Warto również zauważyć, że ta zmiana jest realizowana bez potrzeby reładowania strony, co znacząco poprawia doświadczenie użytkownika. Takie podejście jest zgodne z dobrymi praktykami w zakresie tworzenia dynamicznych interfejsów użytkownika.

Pytanie 36

W obiektowym programowaniu w języku JavaScript zapis: this.zawod w podanym kodzie oznacza

function Uczen(){
  this.imie = '';
  this.nazwisko = '';
  this.technik = 'informatyk';
  this.zawod = function() {
    return this.technik;
  };
}
A. klasę
B. konstruktor
C. właściwość
D. metodę
Podejście, że this.zawod oznacza właściwość jest błędne, ponieważ w programowaniu obiektowym właściwością określamy element obiektu, który przechowuje dane. W przedstawionym kodzie this.zawod jest przypisany do funkcji, która jest metodą umożliwiającą wykonywanie operacji, a nie przechowywanie danych. Klasa w JavaScript, choć wprowadza nowe podejście do definiowania obiektów, jest konceptem wyższego poziomu i nie jest bezpośrednio związana z definicją metod za pomocą funkcji. W analizowanym kodzie użyto funkcji konstrukcyjnej, a nie klasy zdefiniowanej za pomocą słowa kluczowego class. Konstruktor w kontekście programowania obiektowego odnosi się do specjalnej funkcji, która inicjalizuje nowo utworzone obiekty, definiując ich właściwości i metody. W powyższym przykładzie funkcja Uczen pełni rolę konstruktora, lecz sam zapis this.zawod nie jest konstruktorem, gdyż nie służy do tworzenia instancji obiektów, lecz do definiowania ich zachowania. Rozróżnienie między metodą, właściwością, klasą i konstruktorem jest kluczowe dla zrozumienia struktury i działania obiektów w JavaScript. Typowe błędy myślowe wynikają z nieodróżniania tych pojęć i nieznajomości kontekstu, w jakim słowo this jest używane, które w JavaScript może odnosić się do różnych obiektów w zależności od miejsca wywołania i sposobu, w jaki funkcja została zdefiniowana lub wywołana. Zrozumienie tych pojęć jest fundamentalne dla efektywnego programowania obiektowego w JavaScript, co pozwala unikać błędów i pisać bardziej przejrzysty i efektywny kod

Pytanie 37

Zapis przedstawiony w języku JavaScript oznacza, że

x = przedmiot.nazwa();
A. nazwa to pole klasy przedmiot.
B. nazwa to właściwość obiektu przedmiot.
C. zmienna x będzie przechowywać wynik działania funkcji przedmiot.
D. zmienna x będzie przechowywać wynik działania metody nazwa.
Rozważając inne proponowane odpowiedzi, należy zrozumieć, że język JavaScript często wykorzystuje programowanie obiektowe, gdzie właściwości i metody obiektów różnią się w użyciu. Pierwsza opcja sugeruje, że nazwa jest właściwością obiektu przedmiot, co jest błędne w kontekście przedstawionego kodu, ponieważ użyto nawiasów okrągłych, co jednoznacznie wskazuje na wywołanie metody, a nie na odwołanie się do właściwości. Druga opcja mówi o nazwie jako polu klasy przedmiot, co jest mylące, ponieważ w JavaScript nie istnieje formalny podział na pola i metody w taki sposób, jak w statycznie typowanych językach jak Java czy C++. JavaScript, jako język dynamiczny, używa właściwości obiektu do przechowywania zarówno danych, jak i funkcji. Czwarta propozycja, że zmienna x będzie przechowywać wynik działania funkcji przedmiot, również jest błędna, ponieważ w kodzie widzimy wywołanie metody nazwa() na obiekcie przedmiot, a nie wywołanie funkcji przedmiot. Typowe błędy myślowe mogą wynikać z niewłaściwego rozróżnienia między funkcjami i metodami, czy też z niepoprawnego przypisywania ról poszczególnym elementom składni w dynamicznie typowanych językach, co prowadzi do nieporozumień w kontekście konwencji programistycznych stosowanych w JavaScript.

Pytanie 38

Jakiego zdarzenia należy użyć, aby funkcja JavaScript była uruchamiana za każdym razem, gdy użytkownik wprowadzi jakikolwiek znak w polu edycji?

A. onkeydown
B. onload
C. onclick
D. onmouseout
Zdarzenie 'onclick' jest używane do wykrywania kliknięć myszą, a nie do monitorowania wprowadzania tekstu. Dlatego nie jest odpowiednie dla tego kontekstu, gdzie istotne jest reagowanie na każde naciśnięcie klawisza. Kiedy użytkownik klika w pole edycji, nie oznacza to, że wprowadza tekst; to zdarzenie jedynie wskazuje na interakcję myszą. Z tego powodu poleganie na 'onclick' nie pozwoli na prawidłowe reagowanie na wprowadzanie danych przez użytkownika. Z drugiej strony, 'onmouseout' jest zdarzeniem, które wywoływane jest, gdy kursor myszki opuszcza element, co również nie ma zastosowania w sytuacji, gdy chcemy monitorować tekst wprowadzany przez użytkownika. Takie podejście może prowadzić do nieporozumień, ponieważ 'onmouseout' nie dotyczy interakcji związanej z klawiaturą. Z kolei 'onload' jest stosowane do wykrywania momentu, gdy strona internetowa lub element na niej załadują się całkowicie. To zdarzenie również nie ma zastosowania w kontekście wprowadzania tekstu, ponieważ nie jest związane z interakcją użytkownika. Kluczowe jest zrozumienie, że każde z tych zdarzeń ma swoje specyficzne zastosowania, a wybór niewłaściwego zdarzenia może prowadzić do nieefektywnego działania aplikacji oraz utrudnienia w interakcji z użytkownikiem. Dlatego istotne jest zrozumienie różnicy pomiędzy tymi zdarzeniami oraz ich kontekstem użycia.

Pytanie 39

W języku JavaScript właściwie zdefiniowana zmienna to

A. #imie
B. imię2
C. imie2
D. imię%
W języku JavaScript, poprawne nadawanie zmiennych jest kluczowym elementem programowania, który opiera się na zdefiniowanych zasadach dotyczących identyfikatorów. Zmienna musi zaczynać się od litery, znaku podkreślenia (_) lub znaku dolara ($), a następnie może zawierać litery, cyfry, znaki podkreślenia oraz znaki dolara. W przypadku odpowiedzi 'imie2', zaczyna się ona od litery i zawiera literę oraz cyfrę, co czyni ją poprawnym identyfikatorem. Zgodnie ze standardem ECMAScript, identyfikatory są rozróżniane na wielkie i małe litery, co oznacza, że 'Imie2' i 'imie2' będą traktowane jako różne zmienne. Praktycznym przykładem poprawnego użycia takiej zmiennej może być zapis: let imie2 = 'Jan'; console.log(imie2);. W wyniku tego, konsola wyświetli 'Jan'. Można również zauważyć, że zgodnie z zasadami, zmienne mogą być oznaczone jako let, const lub var, co dodaje elastyczności podczas deklaracji zmiennych w kodzie JavaScript.

Pytanie 40

Jaki będzie efekt wykonania poniższego kodu JavaScript?

var akapit = document.createElement("p");
document.body.appendChild(akapit);
A. Pokazanie okna dialogowego z napisem akapit
B. Wstawienie akapitu na szczycie strony
C. Dodanie akapitu na końcu strony
D. Skasowanie akapitu ze strony
Kod JavaScript przedstawiony w pytaniu tworzy nowy element paragrafu HTML za pomocą metody document.createElement("p") i dodaje go na koniec elementu body strony za pomocą metody appendChild(). Dlatego poprawna odpowiedź to dodanie akapitu na koniec strony. Tworzenie elementów dynamicznie w JavaScript to kluczowa funkcja umożliwiająca manipulację modelem DOM (Document Object Model) co jest podstawą dynamicznego interfejsu użytkownika. Przykłady zastosowań obejmują dodawanie nowych elementów do listy rozwijanej formularza aktualizację zawartości strony bez konieczności jej przeładowywania czy dodawanie interaktywnych komponentów. Zgodnie z dobrymi praktykami warto pamiętać o konieczności optymalizacji operacji na DOM ponieważ mogą być kosztowne obliczeniowo. Efektywne zarządzanie drzewem DOM wymaga także znajomości innych metod takich jak insertBefore czy replaceChild które pozwalają na bardziej zaawansowane manipulacje struktury dokumentu. Przy projektowaniu dynamicznych aplikacji webowych należy zawsze pamiętać o zachowaniu dostępności i semantyki HTML co jest istotne z punktu widzenia SEO i użyteczności strony.