Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 7 grudnia 2025 23:36
  • Data zakończenia: 7 grudnia 2025 23:47

Egzamin zdany!

Wynik: 32/40 punktów (80,0%)

Wymagane minimum: 20 punktów (50%)

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

Dla dowolnego a w zakresie (0,99), celem funkcji napisanej w JavaScript jest:

function fun1(a)
{
    for(n=a; n<=100; n++)
        document.write(n);
    return n;
}
A. wypisanie wartości z zakresu a..99 i zwrócenie liczby 100
B. zwrócenie wartości z zakresu a..99
C. wypisanie wartości z zakresu a...100 i zwrócenie wartości zmiennej n
D. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n
Odpowiedź numer trzy jest poprawna ponieważ kod funkcji w języku JavaScript zawiera pętlę for która iteruje od wartości a aż do 100 włącznie. W każdym przebiegu pętli wywoływana jest metoda document.write która wypisuje na ekranie bieżącą wartość zmiennej n. Ponieważ pętla kończy się na 100, ostatnia wartość która zostanie wypisana to 100. Dodatkowo zauważmy że po zakończeniu pętli funkcja zwraca wartość zmiennej n, która po zakończeniu pętli będzie równa 101. Jest to typowy wzorzec używany w JavaScript gdzie pętla jest wykorzystywana do iteracji po zbiorze wartości a po jej zakończeniu zwracana jest ostatnia wartość zmiennej sterującej. Praktyczne zastosowanie tej wiedzy obejmuje rozumienie podstawowych mechanizmów iteracji w JavaScript co jest kluczowe w programowaniu. Dobre praktyki wskazują na wyraźne rozdzielenie logiki wyświetlania od logiki zwracania wartości co ułatwia testowanie i utrzymanie kodu. Zwracanie wartości po pętli może być używane w sytuacjach gdy chcemy uzyskać informację o stanie końcowym iteracji co jest częstym scenariuszem w obliczeniach arytmetycznych lub przetwarzaniu danych.

Pytanie 2

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

A. 1
B. false
C. 0
D. true
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 3

Co robi funkcja napisana w języku JavaScript?

function fun1(f)
{
  if(f < 0)
    f = f * (-1);
  return f;
}
A. wypisanie wartości odwrotnej do f
B. zwrócenie wartości odwrotnej do f
C. zwrócenie wartości bezwzględnej z f
D. wypisanie wartości bezwzględnej z f
Funkcja, którą podałeś w JavaScript, ma za zadanie zwrócić wartość bezwzględną z podanego argumentu f. Sprawdza, czy f jest mniejsze od zera, a jeśli tak, to mnoży je przez -1, co w praktyce oznacza, że zmienia znak liczby na dodatni. Jeśli wartość jest już dodatnia, to nic się nie dzieje. To wszystko jest zgodne z tym, jak definiujemy wartość bezwzględną, bo ta zawsze jest równa lub większa od zera. Z mojego doświadczenia, wartości bezwzględne są przydatne w różnych dziedzinach, jak matematyka czy analiza danych, gdzie zależy nam na wartościach liczbowych bez względu na to, czy są dodatnie, czy ujemne. Warto też wspomnieć, że JavaScript ma wbudowaną funkcję Math.abs(), która robi to samo i jest to naprawdę dobry wybór, bo ułatwia zrozumienie kodu i zmniejsza ryzyko błędów. Tworzenie takiej funkcji, jak w Twoim zadaniu, to świetny sposób na lepsze poznanie działania języka i manipulowania danymi.

Pytanie 4

W skrypcie JavaScript użyto metody DOM getElementsByClassName('akapit'). Ta metoda odniesie się do akapitu

A. <p href="/akapit">akapit3</p>
B. <p class="akapit">akapit4</p>
C. <p>akapit</p>
D. <p id="akapit">akapit2</p>
Metoda DOM getElementsByClassName jest jedną z najważniejszych funkcji w JavaScript, która pozwala na selekcję elementów na stronie internetowej na podstawie ich klas CSS. W tym przypadku, odpowiedź <p class="akapit">akapit4</p> jest poprawna, ponieważ element ten ma przypisaną klasę "akapit", co czyni go bezpośrednim kandydatem do selekcji przez metodę getElementsByClassName('akapit'). Metoda ta zwraca kolekcję elementów (HTMLCollection), które mają podaną klasę, a następnie można z nimi pracować w kodzie JavaScript. Na przykład, możemy zmieniać ich style, zawartość lub dodawać zdarzenia. Dobrą praktyką jest stosowanie klas do stylizacji oraz manipulacji DOM, co pozwala na lepszą organizację kodu i zwiększa jego czytelność. Pamiętaj, że klasy są bardziej uniwersalne i elastyczne niż identyfikatory (ID), które powinny być unikalne na stronie. W przypadku konieczności stosowania metod do manipulacji elementami DOM, warto znać również inne metody, takie jak querySelector i querySelectorAll, które oferują bardziej zaawansowane opcje selekcji, umożliwiające wykorzystanie kombinacji klas, identyfikatorów i innych atrybutów.

Pytanie 5

Co to jest AJAX?

A. Język programowania służący do tworzenia stron internetowych
B. Biblioteka JavaScript do obsługi animacji i efektów wizualnych
C. System zarządzania bazą danych używany do przechowywania i manipulacji danymi
D. Technologia umożliwiająca asynchroniczne przesyłanie danych między klientem a serwerem bez przeładowania strony
AJAX, czyli Asynchronous JavaScript and XML, to podejście do programowania aplikacji webowych, które pozwala na wykonywanie asynchronicznych zapytań do serwera bez konieczności przeładowania całej strony. Dzięki temu użytkownik ma płynniejsze i bardziej responsywne doświadczenie z aplikacją. W praktyce często stosuje się AJAX do ładowania danych z serwera w tle, co pozwala na dynamiczne aktualizowanie części strony, takie jak listy produktów, komentarze, czy wyniki wyszukiwania. Technologie związane z AJAX to m.in. XMLHttpRequest, Fetch API oraz często używane biblioteki jak jQuery, które upraszczają jego implementację. Standardy i dobre praktyki obejmują m.in. unikanie blokowania interfejsu użytkownika oraz zapewnienie bezpieczeństwa danych podczas przesyłania między klientem a serwerem. Z mojego doświadczenia, AJAX jest nieoceniony w tworzeniu nowoczesnych aplikacji webowych i znacząco zwiększa ich użyteczność.

Pytanie 6

W języku JavaScript, deklaracja: ```var x=true;``` sprawia, że zmienna x ma typ

A. numeryczny
B. łańcuch znaków
C. enumeracyjny
D. logiczy
Odpowiedzi, które dotyczą typów danych jak ciągi znaków, liczby czy wyliczeniowe, są tutaj nietrafione. Na początek warto wspomnieć, że ciąg znaków w JavaScript to po prostu tekst, np. 'hello' lub '123'. To zupełnie co innego niż typ logiczny. Zmienna z wartością true to nie tekst, więc nie da się jej traktować jako ciągu znaków. Jeśli chodzi o typ liczbowy, to on dotyczy wartości takich jak 1, 2, 3 czy 3.14. Często można się pomylić, gdy wartości logiczne są brane pod uwagę w kontekście arytmetyki, co prowadzi do błędnych wniosków. Typ wyliczeniowy jest zazwyczaj używany w językach, które mają enumeracje, a w czystym JavaScript tego nie ma. Typ logiczny ma swoje unikalne zastosowania, szczególnie w tworzeniu warunków i decyzyjności w kodzie. Jak się nie zrozumie tych różnych typów, to można łatwo wpaść w pułapki logiczne, co jest dość powszechnym problemem, zwłaszcza u początkujących programistów. Dlatego ważne jest, by przy nauce programowania widzieć, jak różne typy danych mogą wpływać na kod i unikać uproszczeń, które mogą dać błędne rezultaty.

Pytanie 7

W języku JavaScript zdefiniowano obiekt. Aby uzyskać wartość atrybutu, można użyć następującego zapisu:

obiekt = { q: 1, w: 2, e: 3, r:4 };
A. obiekt::w
B. obiekt->w
C. obiekt.w
D. obiekt:w
Odpowiedź 'obiekt.w' jest prawidłowa, ponieważ w JavaScript używamy notacji kropkowej do uzyskiwania dostępu do właściwości obiektów. W tym przypadku mamy obiekt zadeklarowany jako 'obiekt = { q: 1, w: 2, e: 3, r:4 };'. Aby uzyskać wartość przypisaną do właściwości 'w', wystarczy użyć notacji kropkowej i napisać 'obiekt.w', co zwróci wartość '2'. Tego typu dostęp do danych jest standardem w JavaScript i jest szeroko stosowany w projektach, co pozwala na efektywne i czytelne manipulowanie danymi. Przykładowo, możemy użyć tej techniki w funkcjach, które przetwarzają obiekty lub w kodzie, który reaguje na zdarzenia, gdzie często zachodzi potrzeba uzyskania konkretnych wartości z obiektów. Dobrą praktyką jest również używanie notacji kropkowej, gdy właściwości obiektu mają znane i stabilne nazwy, co zwiększa czytelność kodu.

Pytanie 8

Ile razy powtórzy się pętla w JavaScript?

var x=1, i=0;
do{
    x*=3;
    i++;
}
while(x!=27);
A. 3 razy
B. 27 razy
C. 26 razy
D. 2 razy
W przedstawionym kodzie JavaScript, pętla do-while wykonuje się do momentu, gdy zmienna x nie jest równa 27. Zaczynając od wartości x równej 1, przy każdym przejściu przez pętlę zmienna x jest mnożona przez 3. Kolejno, x przyjmuje wartości: 3, 9, 27. Zatem pętla wykonuje się trzy razy, ponieważ dopiero po trzecim cyklu x osiąga wartość 27, co powoduje zakończenie pętli. Do-while zawsze wykonuje przynajmniej jedno przejście, niezależnie od warunku końcowego, dzięki czemu jest przydatna w sytuacjach, gdy operacja musi być przeprowadzona co najmniej raz. Dobrym przykładem wykorzystania tego mechanizmu jest oczekiwanie na spełnienie określonego warunku, np. uzyskanie poprawnej odpowiedzi od użytkownika. Warto zwrócić uwagę, że w przypadku operacji matematycznych wymagających określonej liczby iteracji, pętla do-while zapewnia prostotę i przejrzystość implementacji, zgodnie z dobrymi praktykami zapewniającymi łatwość w czytaniu i utrzymaniu kodu.

Pytanie 9

Jakie dane zostaną wyświetlone po wykonaniu poniższych poleceń? bool gotowe=true; cout<<gotowe;

A. 0
B. tak
C. nie
D. 1
W wyniku wykonania przedstawionych instrukcji, zostanie wypisane "1". Wynika to z faktu, że zmienna typu bool w języku C++ jest reprezentowana jako liczba całkowita, gdzie wartość "true" jest interpretowana jako "1", a "false" jako "0". Kiedy wykonujemy instrukcję z użyciem cout, która jest standardowym strumieniem wyjściowym w C++, zmienna gotowe, która przechowuje wartość true, zostanie przekonwertowana na jej reprezentację liczbową, co skutkuje wypisaniem "1" na ekran. W praktyce, zrozumienie konwersji typów danych w C++ jest kluczowe dla programowania, zwłaszcza w kontekście obliczeń logicznych i kontroli przepływu programu. Standardy C++ określają zasady konwersji typów, co wpływa na optymalizację kodu oraz unikanie błędów w logice programowania, dlatego wiedza na ten temat jest niezbędna dla każdego programisty.

Pytanie 10

Fragment kodu w języku JavaScript realizujący dodawanie dwóch liczb ma poniższą postać. Aby dodawanie wykonane było po kliknięciu przycisku o nazwie "dodaj", należy w wykropkowane miejsce wstawić

Podaj pierwszą liczbę: <input type="text" name="liczba1" />
Podaj drugą liczbę: <input type="text" name="liczba2" />
….
<script type=text/javascript>
function dodaj()
{
    // ta funkcja realizuje dodawanie i podaje jego wynik
}
</script>
A. <button onselect="return dodaj()">oblicz</button>
B. <button onclick="return oblicz()">dodaj</button>
C. <button onclick="return dodaj()">dodaj</button>
D. <button onselect="return dodaj()">dodaj</button>
Gratulacje, wybrałeś poprawną odpowiedź. Przycisk w JavaScript jest aktywowany poprzez zdarzenie onclick, które jest wyzwalane po kliknięciu przycisku. Właściwość onclick jest jednym z wielu zdarzeń w JavaScript, które są używane do obsługi interakcji użytkownika. Kiedy użytkownik kliknie przycisk, zdarzenie onclick jest wywoływane i kod zawarty w tym zdarzeniu jest wykonany. W tym przypadku, kod to 'return dodaj()', co oznacza, że funkcja 'dodaj' jest wywoływana. Ta funkcja została zdefiniowana w skrypcie JavaScript i realizuje dodawanie dwóch liczb. Zdarzenie onclick jest często używane w praktycznych zastosowaniach, takich jak przyciski subskrybcji, przyciski do logowania czy przyciski do przesyłania formularzy. Zasada ta jest zgodna z dobrymi praktykami programowania, które zalecają utrzymanie interakcji użytkownika w kodzie JavaScript zamiast HTML.

Pytanie 11

Przedstawiona funkcja napisana w kodzie JavaScript ma na celu:

function oblicz(a, n)
{
    wynik = 1;
    for(i = 0; i < n; i++)
        wynik *= a;
    return (wynik);
}
A. zwrócić iloczyn kolejnych liczb od 1 do a
B. zwrócić wynik potęgowania a^n
C. wpisać kolejne liczby od a do n
D. wpisać wyniki mnożenia a przez n
Funkcja w kodzie JavaScript przedstawionym w pytaniu ma na celu zwrócenie wyniku potęgowania liczby a do potęgi n. Widzimy to poprzez analizę kodu: rozpoczyna się od inicjalizacji zmiennej wynik z wartością 1, a następnie w pętli for realizowana jest operacja mnożenia wyniku przez a dokładnie n razy. W ten sposób wynik = wynik * a jest wykonywane iteracyjnie, co oznacza że a jest mnożone przez siebie n razy. Taka operacja jest definicją potęgowania: a do potęgi n oznacza a mnożone n-krotnie. Tego rodzaju funkcje są fundamentalne w programowaniu, szczególnie w kontekście matematycznych obliczeń czy symulacji wymagających wielokrotnych potęgowań, np. w zastosowaniach naukowych i inżynieryjnych. Dobrą praktyką jest również optymalizacja tego typu funkcji używając wbudowanych metod jak Math.pow w JavaScript, co zwiększa czytelność i efektywność kodu. Rozumienie potęgowania jest kluczowe w algorytmach opartych na teorii liczb, kryptografii czy w grafice komputerowej, gdzie operacje te mogą być wysoce złożone i wymagają szczególnej optymalizacji.

Pytanie 12

W języku JavaScript zapisano poniższy fragment kodu. `````` Po uruchomieniu skryptu zmienna x

A. będzie miała wartość 10 i zostanie pokazana w dokumencie HTML
B. będzie miała wartość 11 i zostanie wyświetlona w konsoli przeglądarki internetowej
C. będzie miała wartość 11 i zostanie wyświetlona w oknie popup
D. będzie miała wartość 10 i zostanie wyświetlona w głównym oknie przeglądarki internetowej
W analizowanym fragmencie kodu JavaScript mamy do czynienia z prostą operacją inkrementacji zmiennej x, która początkowo wynosi 10. Operator ++ zwiększa wartość zmiennej o 1, co skutkuje wartością 11. Wartością, która zostanie wyświetlona, jest wartość zmiennej x, która po inkrementacji wynosi 11. Jednak ważnym aspektem jest to, że w kodzie jest błąd składniowy w wywołaniu funkcji console.log. Poprawna składnia powinna wyglądać tak: console.log(x); zamiast console.logx);. W obecnej formie kodu, mimo inkrementacji zmiennej x do wartości 11, pojawi się błąd wykonania, a wartość nie zostanie wypisana. Gdyby błąd został naprawiony, wynik 11 zostałby wyświetlony w konsoli przeglądarki, co jest standardowym miejscem do monitorowania wyjścia w aplikacjach JavaScript. To zachowanie jest zgodne ze specyfikacjami ECMAScript, które definiują zasady działania operatorów oraz metod konsoli.

Pytanie 13

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

A. imię%
B. #imie
C. imie2
D. imię2
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 14

Zapis przedstawiony w języku JavaScript oznacza, że

x = przedmiot.nazwa();
A. nazwa to właściwość obiektu przedmiot.
B. zmienna x będzie przechowywać wynik działania funkcji przedmiot.
C. zmienna x będzie przechowywać wynik działania metody nazwa.
D. nazwa to pole klasy przedmiot.
Odpowiedź jest prawidłowa, ponieważ wyrażenie w języku JavaScript x = przedmiot.nazwa(); oznacza, że zmienna x zostanie przypisana do wyniku działania metody nazwa, która jest wywoływana na obiekcie przedmiot. W JavaScript metody są funkcjami zdefiniowanymi jako właściwości obiektów. Kiedy wywołujemy metodę, dodajemy nawiasy okrągłe do jej nazwy, co powoduje jej wykonanie. W przypadku poprawnego zdefiniowania metody nazwa w obiekcie przedmiot, wykonanie tej metody zwróci wartość, która zostanie przypisana do zmiennej x. Taki sposób przypisywania wartości jest powszechnie stosowany w programowaniu obiektowym, co umożliwia dynamiczne uzyskiwanie danych z obiektów. Przykładem zastosowania może być np. obiekt Uzytkownik z metodą pobierzImie(), która zwraca imię użytkownika. Dzięki temu można elastycznie zarządzać danymi obiektów i tworzyć złożone aplikacje. Dobre praktyki programistyczne zalecają czytelne nazywanie metod i korzystanie z nich wtedy, gdy logicznie grupują funkcjonalność, co ułatwia utrzymanie i rozwijanie kodu.

Pytanie 15

W języku JavaScript, w celu przekształcenia specjalnie przygotowanego tekstu w tablicę, można wykorzystać metodę

A. replace()
B. slice()
C. trim()
D. split()
Metoda split() w języku JavaScript jest niezwykle użyteczna do dzielenia łańcucha tekstowego na elementy tablicy na podstawie określonego separatora. Gdy weźmiemy pod uwagę kontekst przetwarzania tekstu, na przykład możemy mieć ciąg znaków reprezentujący listę imion oddzielonych przecinkami, taki jak "Jan,Kasia,Piotr". Używając funkcji split(',', 2), możemy uzyskać tablicę ['Jan', 'Kasia'], co pozwala nam na łatwe manipulowanie i przetwarzanie tych danych. Metoda ta jest zgodna z zasadami programowania funkcyjnego, umożliwiając praktyczne podejście do przetwarzania danych. Warto również zauważyć, że split() może być wykorzystywana w różnorodnych kontekstach, takich jak praca z danymi z formularzy, analizowanie tekstów czy rozdzielanie argumentów w funkcjach. Stosując tę metodę, programiści powinni pamiętać o dobrych praktykach, takich jak walidacja danych wejściowych oraz zarządzanie sytuacjami, gdy ciąg wejściowy jest pusty lub nie zawiera separatora, co można osiągnąć poprzez dodatkowe sprawdzenia. W kontekście nowoczesnych aplikacji webowych, efektywne zarządzanie danymi tekstowymi jest kluczowe dla optymalizacji wydajności oraz poprawy UX, co czyni metodę split() fundamentalnym narzędziem w arsenale programisty JavaScript.

Pytanie 16

Na listingu kodu JavaScript w wykropkowanej części definicji obiektu osoba należy wpisać kod, który prawidłowo obsłuży instrukcję osoba.j = "PL"; Który to będzie kod?

 var osoba = {
    imie: "Jan",
    jezyk: "EN",
    set j(nazwa) {  ...  }
};
A. return this.j;
B. this.j = nazwa;
C. this.jezyk = nazwa;
D. return this.jezyk;
Niepoprawne odpowiedzi w tym pytaniu wynikają z niezrozumienia roli setterów i sposób, w jaki są one używane do zarządzania stanem obiektu w JavaScript. Odpowiedź 'this.j = nazwa;' jest nieprawidłowa, ponieważ próbuje przypisać wartość bezpośrednio do właściwości 'j', która nie istnieje w obiekcie 'osoba'. Z kolei 'return this.j;' i 'return this.jezyk;' nie są prawidłowe, ponieważ setter nie powinien zwracać wartości. Jego zadaniem jest ustawienie wartości, a nie jej zwrócenie. Zrozumienie roli setterów w zarządzaniu stanem obiektu jest kluczowe dla prawidłowego używania JavaScript. Setter powinien zawsze przypisywać wartość do właściwości obiektu, a nie próbować zwrócić wartość lub przypisać wartość do nieistniejącej właściwości.

Pytanie 17

W języku JavaScript, aby zweryfikować, czy liczba mieści się w zakresie (100;200>, należy użyć 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)
Zaznaczyłeś odpowiedź 'if (liczba > 100 && liczba <= 200)', i to jest całkiem trafne! Warunek ten sprawdza, czy liczba jest w przedziale od 100 do 200, co jest mega ważne. Wiesz, '>' oznacza, że liczba musi być większa niż 100, a '<=' pozwala na 200, ale nic większego. To coś, co często wykorzystujemy w programach, żeby kontrolować dane od użytkowników. Jak na przykład przy rejestracji – chcemy mieć pewność, że wszystko jest w normie. Umiejętność walidacji danych to kluczowa sprawa w programowaniu, bo dzięki temu możemy unikać różnych błędów. Fajnie, że zauważasz, jak operatory logiczne, takie jak '&&', mogą pomóc w budowaniu bardziej złożonych warunków – to czyni nasze aplikacje lepszymi. Ważne, żebyś rozumiał, jak to działa, bo to na pewno przyda się w przyszłości!

Pytanie 18

Jakie słowo kluczowe wykorzystuje się do deklaracji zmiennej w języku JavaScript?

A. new
B. instanceof
C. variable
D. var
W JavaScript, żeby zadeklarować zmienną, używa się słowa 'var'. To jeden z najważniejszych elementów tego języka. Używając 'var', tworzysz zmienną, która może mieć zasięg tylko w danej funkcji albo być dostępna globalnie, w zależności od tego, jak ją zadeklarujesz. Jeśli na przykład napiszesz 'var x = 10;', to stworzysz zmienną 'x' i przypiszesz jej wartość 10. Warto jednak zauważyć, że od momentu, gdy wprowadzono ES6, zaleca się używanie 'let' oraz 'const' do deklaracji zmiennych, bo są bardziej przewidywalne, zwłaszcza jeśli chodzi o zasięg zmiennych (block scope). Mimo to, 'var' wciąż można spotkać w wielu starych projektach i dobrze jest znać to słowo, żeby lepiej rozumieć, jak działa JavaScript. Fajnie jest ograniczać 'var' na rzecz 'let' i 'const', bo dzięki temu kod staje się bardziej przejrzysty i łatwiejszy do ogarnienia w większych projektach.

Pytanie 19

Jaką instrukcję w JavaScript można uznać za równoważną pod względem funkcjonalności do zaprezentowanej?

Ilustracja do pytania
A. Kod 4
B. Kod 3
C. Kod 1
D. Kod 2
Kod 2 jest poprawny, ponieważ struktura instrukcji warunkowych w JavaScript jest równoważna z wyrażeniem switch przedstawionym w pytaniu. Instrukcja switch pozwala na wykonanie jednej z wielu gałęzi kodu w zależności od wartości wyrażenia, w tym przypadku zmiennej 'dzialanie'. Każdy 'case' w switch odpowiada warunkowi 'if' w strukturze if-else if. W Kodzie 2 każda operacja matematyczna, jak dodawanie czy odejmowanie, jest przypisana do odpowiedniego warunku dzięki zastosowaniu if-else if, co dokładnie odwzorowuje zachowanie switch. Jest to zgodne z dobrą praktyką programistyczną, gdzie wybór między switch a if-else if zależy od przejrzystości i liczby porównywanych przypadków. Kod 2 jest bardziej czytelny, co jest ważne w utrzymywaniu i rozwijaniu kodu produkcyjnego. Praktyczne zastosowanie takiej struktury można znaleźć w budowaniu aplikacji, gdzie decyzje podejmowane są na podstawie wielu możliwych wartości zmiennej.

Pytanie 20

Jaki jest cel poniższego fragmentu funkcji w JavaScript?

wynik = 0;
for (i = 0; i < tab.length; i++)
{
    wynik += tab[i];
}
A. wyświetlić wszystkie pozycje w tablicy
B. obliczyć sumę wszystkich elementów tablicy
C. przypisać do każdego elementu tablicy bieżącą wartość zmiennej i
D. dodać stałą wartość do każdego elementu tablicy
Podczas analizowania niepoprawnych odpowiedzi warto skupić się na zrozumieniu działania pętli oraz operatora przypisania dodającego +=. Pierwsza z omawianych odpowiedzi sugeruje że kod dodaje do każdego elementu tablicy stałą wartość. Jest to błędne rozumienie operatora += który po lewej stronie ma zmienną a po prawej wartość którą dodajemy do tej zmiennej. W tym przypadku tab[i] jest dodawane do zmiennej wynik co wskazuje na zliczanie a nie modyfikację elementów tablicy. Druga odpowiedź sugeruje że kod wyświetla elementy tablicy. Jednak brak tutaj jakiejkolwiek funkcji wyjściowej takiej jak console.log() która mogłaby wyświetlić wartości w konsoli. Kod skupia się na operacji wewnętrznej a nie na interakcji wyjściowej. Trzecia odpowiedź sugeruje że do każdego elementu tablicy jest wprowadzana aktualna wartość zmiennej i. Jest to również błędne ponieważ nie ma tutaj żadnej operacji przypisania wartości do tablicy. Zmienna i jest jedynie indeksem używanym do iteracji i nie wpływa na zmianę wartości tablicy. Wszystkie te nieporozumienia wynikają z błędnej interpretacji działania pętli oraz operacji arytmetycznych w kodzie. Kluczowe jest zrozumienie jak pętla działa aby poprawnie przypisać operację do odpowiedniego kontekstu w programie.

Pytanie 21

W sklepie z farbami obowiązuje określony sposób obliczania kosztu farby: dla koloru niebieskiego i zielonego przy pojemności 2 litry cena farby wynosi cena bazowa + 20%. Wyrażenie logiczne w języku JavaScript, które weryfikuje tę zasadę, ma formę

A. (kolor == 'niebieski' || kolor == 'zielony') && pojemnosc == 2
B. kolor == 'niebieski' && kolor == 'zielony' && pojemnosc == 2
C. (kolor = 'niebieski' || kolor = 'zielony') || pojemnosc = 2
D. kolor = 'niebieski' || kolor = 'zielony' && pojemnosc = 2
Odpowiedź jest poprawna, ponieważ stosuje właściwą składnię języka JavaScript i prawidłowo określa warunki, które muszą być spełnione, aby cena farby zwiększyła się o 20%. Wyrażenie '(kolor == 'niebieski' || kolor == 'zielony') && pojemnosc == 2' skutecznie sprawdza, czy zmienna 'kolor' przyjmuje wartość 'niebieski' lub 'zielony', a jednocześnie czy 'pojemnosc' wynosi 2. Użycie operatora logicznego '||' (lub) oraz '&&' (i) jest kluczowe w definiowaniu logiki warunkowej, co jest podstawą w programowaniu. Dzięki tej metodzie można z łatwością rozszerzyć logikę o inne kolory czy pojemności w przyszłości. Przykładem zastosowania tej logiki w praktyce może być tworzenie dynamicznego kalkulatora cen w aplikacji internetowej, gdzie użytkownicy wybierają różne kolory i pojemności, a program automatycznie oblicza cenę na podstawie zadanych reguł. Ważne jest przestrzeganie dobrych praktyk programistycznych, takich jak jasne nazewnictwo zmiennych i unikanie złożonych wyrażeń, co zwiększa czytelność kodu. Warto również pamiętać, że stosując operator '==' zamiast '=' unikamy przypisania wartości, co jest kluczowe w kontekście debugowania i poprawności działania skryptu.

Pytanie 22

Aby wykorzystać skrypt zapisany w pliku przyklad.js, trzeba połączyć go ze stroną używając kodu

A. <script>przyklad.js</script>
B. <script src="/przyklad.js"></script>
C. <script link="przyklad.js"></script>
D. <link rel="script" href="/przyklad.js">
Poprawna odpowiedź to <script src="/przyklad.js"></script>, ponieważ jest to zgodne z obowiązującymi standardami HTML dotyczącymi ładowania skryptów. Atrybut 'src' jest kluczowy, ponieważ wskazuje przeglądarce lokalizację pliku JavaScript, który ma zostać załadowany. Umieszczając skrypt w tagu <script> w ten sposób, zapewniamy, że plik zostanie poprawnie wczytany i wykonany w kontekście dokumentu HTML. Jest to praktyka zgodna z dobrymi zasadami programowania webowego, umożliwiająca organizację kodu oraz minimalizację problemów z wydajnością. Na przykład, umieszczając ten tag w sekcji <head> lub tuż przed końcem tagu </body>, możemy zwiększyć wydajność ładowania strony, zapewniając jednocześnie, że wszystkie skrypty są załadowane przed ich wykonaniem. To podejście jest powszechnie stosowane w branży, aby poprawić czytelność kodu i umożliwić łatwiejsze zarządzanie zasobami.

Pytanie 23

Jaką operację zapewniającą prawidłowe działanie pokazanego kodu JavaScript należy wykonać przed rozpoczęciem pętli?

A. Sprawdzić długość tablicy tab
B. Zadeklarować zmienną i
C. Zainicjować zmienną text
D. Upewnić się, że text jest typu string
Zadeklarowanie zmiennej 'i' przed pętlą nie jest konieczne, ponieważ JavaScript automatycznie deklaruje zmienną 'i' w kontekście pętli. Deklaracja zmiennych przy pomocy 'var', 'let' lub 'const' jest wystarczająca w momencie ich użycia w pętli. Kolejnym aspektem jest sprawdzenie rozmiaru tablicy 'tab'. Choć podjęcie takiego sprawdzenia jest dobrym zwyczajem, nie jest to warunek konieczny do poprawnego działania kodu. Pętla for działa w oparciu o długość tablicy, więc jeżeli tablica jest pusta, pętla po prostu się nie wykona, co nie prowadzi do błędów. Ostatnim punktem jest sprawdzenie, czy 'text' jest typu znakowego. JavaScript jest językiem dynamicznie typowanym, co oznacza, że zmienne mogą przyjmować różne typy danych w trakcie działania programu. Na początku 'text' powinno być inicjalizowane jako pusty łańcuch, ale sprawdzanie jego typu w momencie, gdy jest używane w pętli, nie jest konieczne. Wszystkie powyższe odpowiedzi mogą być postrzegane jako dobre praktyki, ale nie są kluczowymi krokami, które należy wykonać przed rozpoczęciem pętli, aby program działał poprawnie.

Pytanie 24

Jak należy prawidłowo udokumentować wzorcowanie pola nazwa we fragmencie kodu JavaScript?

function validateForm(Form)
{
reg=/^\[1-9\]*[A-ZŻŹĘĄĆŚÓŁŃ]{1}[a-zżźćńółęąś]{2,}$/;
wyn = Form.nazwa.value.match(reg);
if (wyn == null) {
    alert("Proszę podać poprawną nazwę");
    return false;
}
return true;
}
A. /* Pole nazwa musi składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i dwóch małych liter. */
B. /* Pole nazwa może składać się z dowolnego ciągu cyfr (z wyłączeniem 0), małych i dużych liter. */
C. /* Pole nazwa powinno składać się w kolejności: z ciągu cyfr (z wyłączeniem 0), następnie dużej litery i ciągu małych liter. */
D. /* Pole nazwa może zawierać dowolny ciąg cyfr (z wyłączeniem 0), następnie musi zawierać dużą literę i ciąg minimum dwóch małych liter. */
Odpowiedź druga jest poprawna, ponieważ dokładnie opisuje wzorzec walidacji użyty w kodzie JavaScript. Wyrażenie regularne określa, że pole nazwa może zaczynać się od dowolnej liczby cyfr od 1 do 9, co oznacza, że cyfra 0 jest wykluczona, co jest zgodne z opisem. Następnie musi wystąpić jedna duża litera, co jest również zgodne z wymogiem wzorca. Kolejnym wymogiem jest wystąpienie co najmniej dwóch małych liter, co także jest zgodne z przedstawionym wzorcem. Poprawna i precyzyjna dokumentacja kodu ma kluczowe znaczenie dla utrzymania oraz dalszego rozwoju oprogramowania. Dobrze udokumentowane wyrażenia regularne pozwalają na lepsze zrozumienie logiki walidacji i ułatwiają pracę zespołom deweloperskim. Warto również zauważyć, że stosowanie wyrażeń regularnych w walidacji danych wejściowych jest standardową praktyką w branży IT, szczególnie w aplikacjach webowych, gdzie dane użytkowników wymagają szczegółowego sprawdzania pod kątem poprawności i bezpieczeństwa. Dzięki temu można uniknąć potencjalnych błędów i ataków wynikających z niewłaściwie przetworzonych danych.

Pytanie 25

W języku JavaScript funkcja getElementById() odnosi się do

A. elementu HTML o wskazanej nazwie klasy
B. klasy zdefiniowanej w CSS
C. zmiennej liczbowej
D. elementu HTML o określonym id
Metoda getElementById() jest jedną z najczęściej używanych funkcji w JavaScript, która pozwala na bezpośrednie odwołanie się do elementu DOM (Document Object Model) za pomocą atrybutu id. Gdy wywołujemy tę metodę, przekazujemy jej jako argument ciąg znaków odpowiadający wartości atrybutu id danego elementu HTML. Przykładowo, jeśli mamy znacznik `<div id='myDiv'></div>`, możemy uzyskać do niego dostęp za pomocą `document.getElementById('myDiv')`. Jest to bardzo efektywny sposób na manipulowanie elementami strony, umożliwiający m.in. zmianę ich zawartości, stylu czy atrybutów. Dzięki tej metodzie programiści mogą szybko i łatwo modyfikować interfejs użytkownika oraz reagować na zdarzenia, co jest zgodne z zasadami responsywnego projektowania i tworzenia dynamicznych aplikacji webowych. Warto również pamiętać, że użycie unikalnych identyfikatorów w HTML jest zgodne z dobrymi praktykami, ponieważ pozwala na łatwiejszą nawigację po strukturze dokumentu i unika konfliktów z innymi elementami.

Pytanie 26

W języku JavaScript zdefiniowano funkcję o nazwie liczba_max, która porównuje trzy liczby naturalne przekazane jako argumenty i zwraca największą z nich. Prawidłowa forma wywołania tej funkcji, razem z przypisaniem jej wyniku, powinna wyglądać następująco

A. liczba_max(a, b, c) = wynik;
B. var wynik = liczba_max(a, b, c);
C. liczba_max(a, b, c);
D. liczba_max(a, b, c, wynik);
Wywołanie funkcji 'liczba_max' w postaci 'var wynik = liczba_max(a, b, c);' jest prawidłowe, ponieważ stosuje syntaksę języka JavaScript do przypisania wartości zwróconej przez funkcję do zmiennej. Zdefiniowana funkcja 'liczba_max' przyjmuje trzy argumenty, które są porównywane, a maksymalna z nich jest zwracana jako wynik. W tym przypadku 'var wynik' tworzy nową zmienną, która przechowuje tę wartość, co jest zgodne z najlepszymi praktykami programowania, gdzie wyniki operacji są przypisywane do zmiennych dla dalszego wykorzystania. Użycie 'var' (lub 'let', 'const' w nowszych wersjach JavaScript) jest kluczowe, aby jasno określić zakres zmiennej. Przykładowo, jeśli a = 5, b = 10, c = 3, to po wywołaniu 'var wynik = liczba_max(a, b, c);', zmienna 'wynik' będzie miała wartość 10. Tego typu konstrukcje są podstawą programowania w JavaScript i są niezwykle przydatne w tworzeniu dynamicznych aplikacji webowych, gdzie operacje na danych są na porządku dziennym.

Pytanie 27

Skrypt w języku JavaScript, który zajmuje się płacami pracowników, ma na celu stworzenie raportu dla osób zatrudnionych na umowę o pracę, które otrzymują wynagrodzenie w przedziale 4000 do 4500 zł, w tym przedziale obustronnie domkniętym. Jakie jest kryterium do wygenerowania raportu?

A. umowa == 'praca' || (pensja >= 4000 && pensja <= 4500)
B. umowa == 'praca' && (pensja >= 4000 || pensja <= 4500)
C. umowa == 'praca' || (pensja >= 4000 || pensja <= 4500)
D. umowa == 'praca' && (pensja >= 4000 && pensja <= 4500)
Odpowiedź, którą wybrałeś, to umowa == 'praca' && (pensja >= 4000 && pensja <= 4500). To jest faktycznie odpowiednia opcja, bo spełnia warunki do wygenerowania raportu. To ważne, żeby oba warunki były spełnione – pracownik musi mieć umowę o pracę i pensja powinna być w zakresie od 4000 do 4500 zł. Na przykład, jeśli ktoś zarabia 4200 zł, to wtedy wszystko gra i raport się pojawi. W programowaniu używanie operatorów logicznych, takich jak '&&', jest kluczowe, bo pozwalają one precyzyjnie ustalić kryteria. Dobrze zrozumiane operatory '&&' i '||' pomagają unikać niejasności i błędów w logice, a to jest podstawa dobrego pisania kodu.

Pytanie 28

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

A. przeprowadzanie operacji na zmiennych zawierających liczby
B. przesyłanie danych formularzy bezpośrednio do bazy danych
C. pobieranie i zmianę elementów strony, która jest wyświetlana przez przeglądarkę
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 29

Jaką wartość przyjmie zmienna po wykonaniu poniższego fragmentu kodu w JavaScript?

var w=0;
var i=1;
for (i = 1; i < 50; i++)
{
    if (i%2 == 0)
        w += i;
}
A. suma naturalnych liczb parzystych, które są mniejsze od 50
B. liczbom naturalnym, które są nieparzyste i mniejsze od 50
C. suma wszystkich naturalnych liczb nieparzystych, które są większe od 50
D. liczbie naturalnych liczb parzystych większych od 50
Kod przedstawiony w pytaniu jest fragmentem programu JavaScript, który ma za zadanie zsumować wszystkie liczby parzyste mniejsze od 50. Początkowo zmienna w jest ustawiona na 0 i reprezentuje sumę, którą będziemy obliczać. Pętla for zaczyna się od i=1 i iteruje do i<50 zwiększając wartość i o 1 w każdej iteracji. Wewnątrz pętli znajduje się instrukcja warunkowa if, która sprawdza, czy liczba i jest parzysta, co oznacza, że jej reszta z dzielenia przez 2 wynosi 0. Jeśli warunek jest spełniony, liczba i jest dodawana do zmiennej w. W efekcie po zakończeniu pętli zmienna w zawiera sumę wszystkich parzystych liczb mniejszych niż 50. Przykładem praktycznego zastosowania takiego algorytmu może być sytuacja, w której musimy szybko obliczyć sumę określonego zbioru liczb spełniających dane kryterium, co jest częste w analizie danych lub generowaniu raportów. Konstrukcje takie jak pętla for i operator modulo są podstawowymi narzędziami w programowaniu, pozwalającymi na efektywne przetwarzanie danych i automatyzację złożonych operacji obliczeniowych, co jest zgodne z dobrymi praktykami w branży IT.

Pytanie 30

Elementem, który odnosi się do imienia Agata w pokazanej tablicy JavaScript, jest

Ilustracja do pytania
A. Imiona['Agata']
B. Imiona[Agata]
C. Imiona[3]
D. Imiona[4]
JavaScript ma fajne tablice, które pozwalają trzymać różne wartości w jednej zmiennej. Pamiętaj, że w tablicach numerację zaczynamy od zera, więc pierwszy element to 0. W naszym przypadku mamy tablicę Imiona z pięcioma imionami: Anna, Joanna, Monika, Agata. Żeby dostać się do czwartego imienia, musisz użyć indeksu 3, czyli Imiona[3]. To standardowa zasada w JavaScript i naprawdę w wielu innych językach programowania, więc warto się tego nauczyć. W praktyce umiejętność indeksowania tablic jest bardzo ważna, zwłaszcza gdy chcesz przefiltrować, posortować albo po prostu przejść przez dane. Dlatego dobrze jest zapamiętać, jak działa indeksowanie zerowe, bo to kluczowa rzecz dla każdego, kto pracuje z danymi w tym języku.

Pytanie 31

Poprzez zdefiniowanie var x="true"; w języku JavaScript powstaje zmienna należąca do typu

A. logicznym
B. nieokreślonego (undefined)
C. string (ciąg znaków)
D. liczbowym
Deklaracja <b>var x="true";</b> w języku JavaScript tworzy zmienną typu string (ciąg znaków). Wartość "true" jest tekstem, a nie wartością logiczną. W JavaScript, zmienne są dynamicznie typowane, co oznacza, że ich typ może się zmieniać w zależności od wartości, którą przechowują. Przykładem zastosowania tego typu zmiennej może być przechowywanie danych użytkownika w aplikacjach webowych, gdzie często korzysta się z ciągów znaków do reprezentacji różnych informacji, takich jak nazwy użytkowników, hasła, czy inne dane tekstowe. Dobrymi praktykami w programowaniu w JavaScript jest unikanie pomylenia wartości logicznych z ciągami znaków, ponieważ mogą one prowadzić do trudnych do zdiagnozowania błędów. Warto również pamiętać, że w JavaScript stringi są otoczone pojedynczymi lub podwójnymi cudzysłowami, co pozwala na jednoznaczną identyfikację ich jako typów danych. Dobre zrozumienie typów danych w JavaScript jest kluczowe dla skutecznego programowania i zarządzania danymi.

Pytanie 32

Po uruchomieniu zamieszczonego w ramce skryptu w języku JavaScript, w przeglądarce zostanie wyświetlona wartość:

var a = 5;
var b = a--;
a *= 3;
document.write(a + "," + b);
A. 12,5
B. 15,4
C. 12,4
D. 15,5
W tym skrypcie JavaScript mamy operator dekrementacji a--, gdzie najpierw wartość zmiennej a jest przypisana do zmiennej b, a dekrementacja następuje później. Jeśli tego nie rozumiesz, może to prowadzić do różnych nieporozumień co do wynikowych wartości. Czyli po a-- b przyjmuje pierwotną wartość a, która wynosi 5. Warto zrozumieć kolejność operacji, bo przy operatorze postfix zmiana wartości następuje po przypisaniu. Później, po dekrementacji, a staje się 4, co czasem jest źle interpretowane, bo ludzie myślą, że b też by się zmieniło. Potem jest a *= 3, gdzie 4 mnożymy przez 3 i dostajemy 12. Często ludzie popełniają błąd, zakładając, że operatory działają równocześnie w jednym wierszu kodu. Ważne jest, żeby znać te subtelności, bo pomaga to w lepszym programowaniu i kontrolowaniu, jak zmienne się zmieniają.

Pytanie 33

Język JavaScrypt umożliwia obsługę

A. funkcji wirtualnych
B. klas abstrakcyjnych
C. wysyłania ciastek z identycznymi informacjami do wielu klientów strony
D. obiektów DOM
Obsługa funkcji wirtualnych nie jest częścią języka JavaScript, ponieważ ten język nie obsługuje typów i mechanizmów programowania obiektowego w sposób, w jaki robią to inne języki, takie jak C++ czy Java. JavaScript nie posiada koncepcji 'wirtualnych funkcji', które są charakterystyczne dla języków, które implementują mechanizmy dziedziczenia oparte na klasach. W JavaScript, programowanie obiektowe opiera się na prototypach, co oznacza, że obiekty mogą dziedziczyć właściwości i metody bez użycia wirtualnych funkcji, co czyni to pojęcie nieadekwatnym w kontekście tego języka. Ponadto, klasa abstrakcyjna jest także pojęciem, które jest źle zrozumiane w kontekście JavaScript. W rzeczywistości, JavaScript nie wspiera klas abstrakcyjnych w tradycyjnym sensie znanym z języków statycznie typowanych. Wprowadzenie klas w ECMAScript 6 dodało nową składnię, ale nie zmieniło fundamentalnej natury języka. JavaScript nie wymusza implementacji metod w klasach pochodnych, co jest kluczowym aspektem klas abstrakcyjnych. Wreszcie, kwestia wysyłania ciastek z tą samą informacją do wielu klientów stron internetowych odnosi się bardziej do mechanizmów serwerowych i zarządzania sesjami niż do samego języka JavaScript. JavaScript działa głównie po stronie klienta, a ciasteczka są zarządzane przez przeglądarki internetowe, gdzie mogą być ustalane przez skrypty, ale samo wysyłanie ciasteczek do klientów nie jest bezpośrednio związane z jego funkcjonalnością. Te aspekty techniczne ukazują, dlaczego podane odpowiedzi nie są poprawne w kontekście pytania o obsługę JavaScript.

Pytanie 34

W formularzu wartości z pola input o typie number zostały przypisane do zmiennej a, a następnie przetworzone w skrypcie JavaScript w sposób następujący: ```var x = parseInt(a);``` Jakiego typu będzie zmienna x?

A. zmiennoprzecinkowego
B. napisowego
C. Nan
D. liczbowego, całkowitego
Zmienna x, przypisana w wyniku zastosowania funkcji parseInt na zmiennej a, będzie typu liczbowego, całkowitego. Funkcja parseInt jest używana w JavaScript do konwersji wartości na liczbę całkowitą. Jeśli a jest wartością wprowadzoną przez użytkownika w polu input o typie number, to parseInt(a) zwróci wartość liczbową, eliminując wszelkie znaki niebędące cyframi. Wartością return będzie liczba całkowita, ponieważ parseInt zwraca tylko całkowite części liczb. Wartością zwróconą będzie NaN, jeśli a nie zawiera żadnych cyfr, co w tym kontekście nie ma miejsca, zakładając, że użytkownik wprowadził poprawne dane. Przykład: jeśli użytkownik wprowadzi '42.5', to parseInt('42.5') zwróci 42, eliminując część dziesiętną. Warto zaznaczyć, że parseInt może przyjąć drugi argument, który określa system liczbowy (bazę), w jakim liczba ma być interpretowana, co jest zgodne z wytycznymi ECMAScript. Poznanie możliwości i ograniczeń funkcji parseInt jest kluczowe w pracy z danymi liczbowymi w JavaScript, szczególnie w kontekście walidacji danych wejściowych.

Pytanie 35

W języku JavaScript należy uzyskać dostęp do elementu w pierwszym akapicie podanego kodu HTML. Jak można to zrobić za pomocą funkcji

<p>pierwszy paragraf</p>
<p>drugi paragraf</p>
<p>trzeci paragraf</p>
...
A. getElementById('p1');
B. getElementByClassName('p.1')[0];
C. getElementByTagName('p')[0];
D. getElement('p');
Metoda getElementsByTagName('p')[0] jest prawidłowym sposobem odwołania się do pierwszego elementu <p> w dokumencie HTML. Funkcja getElementsByTagName zwraca kolekcję wszystkich elementów o określonej nazwie tagu. W przypadku użycia tagu 'p', funkcja zwraca tablicę wszystkich paragrafów. Aby uzyskać dostęp do pierwszego paragrafu, korzystamy z indeksu [0], co jest zgodne z konwencją numerowania od zera w językach programowania. Praktyczne zastosowanie tej metody obejmuje manipulację treścią lub stylami pierwszego paragrafu, na przykład zmiana jego tekstu za pomocą innerHTML lub dodanie klasy CSS w celu zmiany jego wyglądu. Stosowanie getElementsByTagName jest zgodne z powszechnymi standardami i dobrymi praktykami w pracy z DOM (Document Object Model) w JavaScript. Ważne jest zrozumienie tego mechanizmu, aby efektywnie operować na elementach HTML oraz tworzyć dynamiczne i interaktywne strony internetowe. Warto również pamiętać, że metoda ta zwraca dynamiczną kolekcję, co oznacza, że zmiany w DOM automatycznie wpływają na zawartość zwróconej kolekcji.

Pytanie 36

Jakie wyrażenie w języku JavaScript określa komentarz jednoliniowy?

A. /*
B. ?
C. #
D. //
Odpowiedź '//', stosowana w języku JavaScript, jest poprawnym zapisem komentarza jednoliniowego. Komentarze jednowierszowe rozpoczynają się od podwójnego ukośnika, co oznacza, że wszystko, co znajduje się po tym znaku w danym wierszu, jest ignorowane przez interpreter. Używanie komentarzy jest kluczowe w procesie programowania, ponieważ pozwala na dodawanie notatek, które mogą wyjaśniać logikę kodu lub przypominać o jego funkcji innym programistom oraz przyszłemu ja. Na przykład, jeśli mamy kod odpowiedzialny za obliczenia, można dodać komentarz wyjaśniający, co dokładnie robi dany blok kodu, co ułatwia utrzymanie kodu i jego późniejsze modyfikacje. Komentarze są niezwykle ważne w kontekście dobrych praktyk programistycznych, takich jak DRY (Don't Repeat Yourself) oraz KISS (Keep It Simple, Stupid), pomagając w utrzymaniu przejrzystości i czytelności kodu. Standardy ECMAScript, na których oparty jest JavaScript, jasno definiują sposób użycia komentarzy, co czyni ich stosowanie nie tylko praktyką, ale również zgodnością z normami branżowymi.

Pytanie 37

Liczba 0x142, przedstawiona w skrypcie JavaScript, jest zapisywana w postaci

A. dziesiętnej
B. dwójkowej
C. ósemkowej
D. szesnastkowej
Odpowiedzi sugerujące, że liczba 0x142 jest zapisana w systemie dziesiętnym, dwójkowym lub ósemkowym, są błędne z kilku powodów. System dziesiętny, bazujący na podstawie 10, używa cyfr od 0 do 9. Gdyby 0x142 byłoby w systemie dziesiętnym, nie miałby prefiksu '0x', a jego wartość wynosiłaby 322, co jest całkowicie inną reprezentacją. Z kolei system dwójkowy, znany również jako binarny, używa tylko dwóch cyfr: 0 i 1. Liczba 0x142 w systemie binarnym wynosi 101000010, co jest zupełnie inną formą niż przedstawienie szesnastkowe. Na koniec, system ósemkowy, mający podstawę 8, obejmuje cyfry od 0 do 7. Aby wyrazić 0x142 w systemie ósemkowym, należałoby najpierw przekonwertować ją na dziesiętną, co dałoby 322, a następnie na ósemkowy, co dawałoby 502. Tak więc żadna z tych odpowiedzi nie jest poprawna, ponieważ 0x142 jest jednoznacznie zapisane w systemie szesnastkowym.

Pytanie 38

W skrypcie JavaScript operatory: ||, && są klasyfikowane jako operatorzy

A. przypisania
B. arytmetyczne
C. bitowe
D. logicznymi
Operatory || (OR logiczny) oraz && (AND logiczny) w języku JavaScript należą do grupy operatorów logicznych. Używają ich programiści do prowadzenia operacji na wartościach boolowskich (true/false), co jest kluczowe w tworzeniu warunków w instrukcjach warunkowych i pętlach. Operator && zwraca true, jeśli obie jego operandy są prawdziwe, natomiast operator || zwraca true, gdy przynajmniej jedna z operand jest prawdziwa. Przykładem praktycznego zastosowania operatora && może być sprawdzanie, czy użytkownik jest zalogowany i ma odpowiednie uprawnienia do wykonania danej operacji. Z kolei operator || może być użyty do wyświetlenia komunikatu, jeśli użytkownik nie podał danych, bądź podał niewłaściwe wartości. Dobrze jest stosować te operatory w kontekście logiki programowania, co pozwala na tworzenie bardziej złożonych, ale jednocześnie czytelnych i efektywnych warunków. Warto również pamiętać, aby w kodzie unikać zbyt skomplikowanych warunków, co może prowadzić do trudności w utrzymaniu kodu oraz zwiększać ryzyko błędów.

Pytanie 39

Który zapis w języku JavaScript daje jednakowy rezultat do przedstawionego kodu?

x = 0;
x += 10;
A. x = 10; x = x + 10;
B. x = 10; x = 0;
C. x = 0; x--; x *= 9;
D. x = 0; x++; x = x + 9;
Wybrana przez Ciebie odpowiedź, niestety nie jest zgodna z przykładem kodu przedstawionym na zdjęciu. Wszystkie niepoprawne odpowiedzi zawierają błędny rozumowanie dotyczące operacji na zmiennych w JavaScript. Bardzo częstym błędem jest mylenie operatorów inkrementacji i dekrementacji. Operator '--' w JavaScript zmniejsza wartość zmiennej o 1, a nie zwiększa. Również, operator '*=' jest skrótem dla mnożenia i przypisania wyniku do zmiennej, a nie dla dodawania. Kolejnym błędem jest niezrozumienie przypisania wartości do zmiennej. Instrukcja 'x = 10; x = 0;' przypisuje najpierw wartość 10 do zmiennej 'x', a potem nadpisuje ją wartością 0, co jest niezgodne z kodem na zdjęciu. To są typowe błędy, które prowadzą do niepoprawnych wniosków na temat działania JavaScript. Ważne jest zrozumienie podstawowych operatorów i ich działania, aby uniknąć takich pomyłek. Pamiętaj, że zrozumienie zasad działania języka programowania jest kluczowe dla tworzenia poprawnych i efektywnych kodów.

Pytanie 40

W języku JavaScript stworzono fragment kodu. Po uruchomieniu skryptu zmienna x

<script>
  var x = 10;
  x++;
  console.log(x);
</script>
A. Będzie równa 11 i zostanie wypisana w oknie popup
B. Będzie równa 10 i zostanie wypisana w dokumencie HTML
C. Będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej
D. Będzie równa 10 i zostanie wypisana w głównym oknie przeglądarki internetowej
W zaprezentowanym fragmencie kodu JavaScript zmienna x jest najpierw inicjalizowana wartością 10. Następnie operator inkrementacji x++ zwiększa tę wartość o 1, co skutkuje przypisaniem zmiennej wartości 11. Operator postinkrementacji w JavaScript działa w ten sposób że najpierw zwraca aktualną wartość zmiennej a następnie ją zwiększa. W tym przypadku operacja x++ skutkuje zwiększeniem wartości x do 11. W konsoli przeglądarki wywołanie console.log(x) powoduje wyświetlenie obecnej wartości zmiennej x która wynosi 11. Użycie console.log jest standardową praktyką debugowania w JavaScript i jedną z głównych metod wyświetlania informacji w środowisku przeglądarki. Konsole przeglądarek internetowych są potężnym narzędziem dla deweloperów front-endowych umożliwiającym interaktywną pracę z kodem monitorowanie błędów oraz wydajności aplikacji. Jako najlepsza praktyka zaleca się stosowanie console.log do tymczasowego debugowania i unikanie pozostawiania tych wywołań w produkcyjnych wersjach kodu co może prowadzić do zbędnego obciążenia aplikacji i ujawnienia niepotrzebnych informacji użytkownikom końcowym. Warto również wspomnieć że zmienne deklarowane za pomocą var mają zasięg funkcyjny co oznacza że są dostępne w całej funkcji w której zostały zadeklarowane.