Przejdź do treści głównej
INF.03Pytanie #1237 z 1558js-walidacja-i-web-api

Przedstawiony fragment kodu JavaScript powinien wylosować liczbę całkowitą z zakresu < 1, 10 > i porównać ją z liczbą podaną przez użytkownika w oknie dialogowym. Skrypt po uruchomieniu generuje błąd, którego przyczyną jest:

javascript
<script>
const liczba = 1;
let gora = 10, dol = 1;
let podaj = parseInt(prompt("Podaj liczbę całkowitą z zakresu <1-10>"));
liczba = Math.random() * ( gora - dol + 1 ) + dol;
liczba = parseInt(liczba);
if (liczba == podaj) {
    document.write("Liczba została odgadnięta");
} else {
    document.write("Niestety nie tym razem");
}
</script>
Opcje odpowiedzi:
A
błędna składnia deklaracji zmiennych gora i dol w drugiej linii skryptu.
B
błędna składnia instrukcji warunkowej if ... else.
C
niepotrzebne użycie konwersji z funkcji prompt do liczby całkowitej.
D
przypisanie wartości do stałej liczba w piątej linii skryptu.
Prawidłowa
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: D (przypisanie wartości do stałej liczba w piątej linii skryptu.)

Zmienna liczba została zadeklarowana ze słowem kluczowym const (const liczba = 1;), co czyni ją stałą niemodyfikowalną. Każda późniejsza próba ponownego przypisania wartości (liczba = Math.random()...) wyrzuca błąd krytyczny TypeError: Assignment to constant variable.

Dlaczego pozostałe opcje są nieprawidłowe?

  • A: Deklaracja let gora = 10, dol = 1; jest w 100% poprawna składniowo w JavaScript.
  • B: Składnia if ... else jest całkowicie prawidłowa.
  • C: Konwersja parseInt(prompt(...)) jest zalecaną praktyką zamiany tekstu na liczbę.

Chcesz poćwiczyć całą kwalifikację INF.03?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF03
Reklama

Podobne pytania z działu „Js walidacja i web api”

Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 7 pytań z tego działu.