Temat 20 · 3 × 45 minINF.03
Trening egzaminacyjny: część pisemna
Część pisemna INF.03 to 40 pytań zamkniętych w 60 minut, z czego JavaScriptu dotyczy zwykle 4–5. To niewiele punktów, ale są to punkty najtańsze: pytania są krótkie (1–5 linii kodu), schematyczne i celują w kilkanaście tych samych błędnych przekonań. Kto je zna, odpowiada w minutę i zostawia sobie czas na SQL i PHP. Ta lekcja uczy czytać kod w stylu, w jakim piszą go autorzy arkuszy, eliminować dystraktory i daje bank ponad 40 pytań do przećwiczenia.
Jak wygląda część pisemna
| Element | Jak jest naprawdę |
|---|---|
| Forma | test elektroniczny przy komputerze, 40 zadań zamkniętych, 4 odpowiedzi, jedna poprawna |
| Czas | 60 minut – średnio 1,5 minuty na pytanie |
| Próg | 50 % (20 punktów) |
| JavaScript | zwykle 4–5 pytań (10–12 %), w „dobrym roku” do 7; więcej jest SQL (9–14), PHP (5–10), CSS (3–6) |
| Rozkład | blok „programistyczny” (warunki, pętle, funkcje, obiekty, tablice, napisy) i blok „kliencki” (DOM, zdarzenia, konsola, okna dialogowe, osadzanie skryptu) |
| Styl kodu | ES5: var, document.write, ==, funkcje deklarowane słowem function; z nowszych rzeczy pojawia się includes() (ES6) i rzadziej spotykany akcesor set w obiekcie |
CKE nie publikuje arkuszy pisemnych INF.03 (test jest elektroniczny), więc typologię znamy z arkuszy pokrewnej kwalifikacji EE.09 (2021–2025), informatora i banków pytań. Proporcje pytań JS: ok. 40 % warunki i operatory, 30 % DOM/zdarzenia/konsola, 30 % napisy, tablice, obiekty i funkcje – tak zbudowany jest bank na końcu lekcji.
Dialekt egzaminacyjny: czytaj ES5 bez zdziwienia
Na egzaminie piszesz nowocześnie (to dobrze), ale czytać musisz kod sprzed dekady. Zestawienie:
| Dialekt egzaminacyjny | Współczesny zapis | Co pamiętać |
|---|---|---|
var x = 5; | let x = 5; / const | w pytaniach działa jak let; nie zastanawiaj się nad zasięgiem |
x = 5; (bez słowa kluczowego) | – | poprawne (zmienna globalna), choć zła praktyka; nie jest „błędem składni” |
document.write(x) | el.textContent = x | wypisuje na stronie; document.write(a == b) wypisze true/false |
a == b | a === b | == porównuje po konwersji typów: 3 == '3' to true |
'Koszt: ' + k + ' zł' | `Koszt: ${k} zł` | konkatenacja; liczba + napis → napis |
onclick="f()" | addEventListener('click', f) | kod w atrybucie to instrukcja do wykonania |
function f(a) { … } | const f = (a) => { … } | w pytaniach prawie zawsze deklaracja |
obj = { x: 1 }, obj.x | tak samo | nie ->, :: – to PHP/C++ |
switch (x) { case '10': } | tak samo | case porównuje jak === |
// Ten sam program dwa razy. Wynik identyczny.
var cena = 120, rabat = 10; // dialekt egzaminacyjny
var doZaplaty = cena - cena * rabat / 100;
if (doZaplaty == 108) console.log('egzaminacyjnie: ' + doZaplaty);
const cena2 = 120, rabat2 = 10; // współcześnie
const doZaplaty2 = cena2 - (cena2 * rabat2) / 100;
if (doZaplaty2 === 108) console.log(`współcześnie: ${doZaplaty2}`);Strategia: cztery kroki na pytanie
Krok 1. Rozpoznaj typ pytania. Jest ich pięć i każdy ma swoją metodę:
| Typ | Przykładowe brzmienie | Metoda |
|---|---|---|
| „który zapis / która metoda” | „Który zapis tworzy tablicę?”, „Która metoda zamienia napis na tablicę?” | odrzuć literówki i PHP-izmy, potem porównaj pozostałe z definicją |
| „co wypisze / jaką wartość ma” | „Co wyświetli document.write(…)?” | śledź kod na kartce linia po linii, zapisując wartości zmiennych |
| „co jest równoważne” | „Który kod da ten sam wynik co pętla for?” | wykonaj oryginał i każdy wariant dla 2–3 pierwszych kroków |
| „warunek powinien być zapisany jako” | „Rabat przysługuje, gdy… Które wyrażenie?” | przetłumacz zdanie na &&/` |
| „dlaczego nie działa / co ma za zadanie” | „Dlaczego alert się nie wyświetli?” | szukaj niezgodności typów, braku return, złego id, wywołania bez nawiasów |
Krok 2. Śledź kod, nie zgaduj. Dla pytań z kodem zapisz tabelkę: linia → zmienna → wartość. Zajmuje 30 sekund i eliminuje większość pomyłek „na oko”.
var x = 2;
x += 3; // x = 5
x *= x; // x = 25
x = x % 7; // 25 % 7 = 4 (3·7 = 21, reszta 4)
console.log(x); // 4Krok 3. Eliminuj dystraktory. Autorzy pytań budują odpowiedzi błędne według kilku schematów. Gdy je znasz, 4 opcje szybko zamieniają się w 2:
| Rodzina dystraktorów | Przykłady | Jak rozpoznać |
|---|---|---|
| ortograficzne | documet.write, getElementByID, inerHTML, lenght | czytaj literę po literze – jeden znak różnicy |
| PHP-owe | echo, $zmienna, ->, ::, # jako komentarz, . jako sklejanie | w JS nie ma $ jako prefiksu, ->, echo |
| C++/Java-owe | int x, cout, String s, System.out | JS nie ma typów w deklaracji |
| „prawie dobra metoda” | slice zamiast split, innerHTML zamiast value, getElementById dla klasy | sprawdź, co metoda zwraca i na czym działa |
| „zmiana jednego znaku” | = zamiast ==, && zamiast ||, > zamiast >=, i <= n zamiast i < n | podstaw wartość brzegową |
| „prawda zawsze/nigdy” | x > 5 || x < 10 (zawsze), k == 'a' && k == 'b' (nigdy) | jedna zmienna, dwie wartości jednocześnie = nigdy |
Krok 4. Sprawdź przypadkiem brzegowym. Do wyrażenia logicznego podstaw wartość dokładnie na granicy („od 18 lat” → 18) i wartość, która ma dać fałsz. Jeśli dwie odpowiedzi nadal wyglądają dobrze, różnią się właśnie tam.
Który dystraktor zawiera błąd „PHP-owy”, a nie ortograficzny?
Katalog błędnych przekonań
Każde pytanie JS na egzaminie celuje w konkretne błędne przekonanie. Poniżej te, które powtarzają się najczęściej – z mini-przykładem do sprawdzenia. Jeśli któryś wynik cię zaskakuje, to znak, że tu stracisz punkt.
Warunki i operatory
=to nie==.if (x = 5)nie porównuje, lecz przypisuje; wartość wyrażenia to 5 (prawda), więc gałąźifzawsze się wykona.==konwertuje typy,===nie.3 == '3'→true,3 === '3'→false.switchużywa===:var x = 10; case '10':nigdy nie pasuje.- Jedna zmienna, dwie wartości z
&&= nigdy.kolor == 'zielony' && kolor == 'niebieski'jest zawsze fałszywe. „Zielony lub niebieski” to||. &&wiąże silniej niż||.a && b || cczyta się(a && b) || c. „A i (B lub C)” wymaga nawiasów:a && (b || c).- Zakres domknięty to
&&. „od 4000 do 4500” →p >= 4000 && p <= 4500. Z||warunek jest zawsze prawdziwy. „Poza zakresem” top < 4000 || p > 4500. - „co najmniej 3” to
>= 3, nie== 3ani> 3. „powyżej 200” to> 200, „200 lub więcej” to>= 200. x += 10⇄x = x + 10;x++⇄x += 1;x--⇄x -= 1. Dystraktor:x === x + 1to porównanie, nic nie zmienia.%to reszta z dzielenia.n % 2 == 0– parzyste,!= 0– nieparzyste.25 % 7→ 4. Nie „procent”.for⇄whiletylko z inicjalizacją i krokiem.for (i = 0; i < 100; i += 10)⇄i = 0; while (i < 100) { …; i += 10; }. Bezi += 10pętla jest nieskończona;i < 10zi++daje inne liczby.- Operator
?:to skróconyif/else.w = p >= 50 ? 'zdane' : 'oblane'– dlap = 50daje'zdane', bo>=.
console.log(3 == '3', 3 === '3'); // true false
var kolor = 'zielony';
console.log(kolor == 'zielony' && kolor == 'niebieski'); // false – nigdy prawda
var zakupy = 250;
console.log(zakupy > 200 && (kolor == 'zielony' || kolor == 'niebieski')); // true
console.log(25 % 7, 10 % 2 == 0); // 4 true
var x = 0; x += 10; var y = 0; y++; y = y + 9;
console.log(x == y); // true – równoważneTypy i konwersje
'5' + 3to'53', ale'5' - 3to2. Plus z napisem skleja; minus, razy, dziel konwertują na liczby.'5' + 3 - 1→'53' - 1→52.var x = "true";to napis, nie wartość logiczna.typeof x→"string". Tak samoprompt()zawsze zwraca napis (albonull).document.write(word.toLowerCase() == 'słoń')wypiszetrue, a nie napis – wynik porównania jest logiczny.isNaN('')tofalse, bo pusty napis konwertuje się na 0.Number('abc')toNaN,parseInt('12abc')to12.[10, 9, 1].sort()daje[1, 10, 9]– sortowanie domyślne jest alfabetyczne.
console.log('5' + 3, '5' - 3, '5' + 3 - 1); // 53 2 52
var x = 'true';
console.log(typeof x); // string
var word = 'Słoń';
console.log(word.toLowerCase() == 'słoń'); // true
console.log(isNaN(''), parseInt('12abc')); // false 12
console.log([10, 9, 1].sort()); // [1, 10, 9]Napisy, tablice, obiekty, funkcje
split→ tablica,slice→ fragment,includes→true/false,trim→ bez spacji,replace→ zamiana.'JavaScript'.slice(2, 6)→'vaSc'(od indeksu 2 do 6 bez 6).new Array[1, 2, 3]jest niepoprawne – po konstruktorze są nawiasy okrągłe:new Array(1, 2, 3)albo po prostu[1, 2, 3].lengthto właściwość, nie metoda (tab.length, bez nawiasów); ostatni indeks tolength - 1.- Właściwość obiektu:
obiekt.wlubobiekt['w'].obiekt->w,obiekt::w,obiekt:wto nie JavaScript. Zmiana:obiekt.x = 5. - Setter
set j(nazwa) { this.jezyk = nazwa; }zapisuje do innej właściwości.this.j = nazwawywołałby setter ponownie (rekurencja),returnto getter. - Funkcja bez
returnzwracaundefined.function f(a, b, c) { return a * b; }ma trzy parametry (trzeci nieużywany) i zwraca liczbę – „dwóch wartości” zwrócić nie może. - Wynik funkcji przypisujesz tak:
c = licz(a, b);, nielicz(a, b) = c;.c == licz(a, b)to porównanie. przedmiot.nazwa()– nawiasy oznaczają wywołanie metody; bez nawiasówprzedmiot.nazwato odczyt właściwości (może być funkcją, ale nie zostanie wywołana).
console.log('JavaScript'.slice(2, 6)); // vaSc
console.log('a,b,c'.split(','), 'kot'.includes('o')); // ['a', 'b', 'c'] true
var t = [5, 2, 9]; t.push(1);
console.log(t.length, t[t.length - 1]); // 4 1
var osoba = { imie: 'Ola', set jezyk(n) { this.mowi = n; } };
osoba.jezyk = 'PL';
console.log(osoba.mowi); // PL
function bezReturn(a, b) { var s = a + b; }
console.log(bezReturn(1, 2)); // undefinedDOM, zdarzenia, konsola
- Treść zmienia
innerHTML/textContent, wartość pola –value, obraz –src, wygląd –style.x.document.getElementById(id).style.color = 'red'– nie.innerHTML, nie.colorbezstyle, a nazwy CSS z myślnikiem piszemy jakofontSize,backgroundColor. getElementByIdzwraca jeden element,getElementsByClassName/TagName/querySelectorAll– kolekcję. Kolekcja nie ma.style– trzeba[i]albo pętli. Dla klasynomarginużywaszgetElementsByClassName('nomargin'), niegetElementById.onclickzmienia stan, nie przełącza.onclick="…style.color='red'"– po pierwszym kliknięciu czerwony, po drugim nadal czerwony. „Na przemian” wymaga logikiif.onclick="f"nic nie wywołuje,addEventListener('click', f())wywołuje od razu. Atrybut potrzebuje nawiasów,addEventListener– samej nazwy.promptpobiera dane,alerttylko pokazuje,confirmzwracatrue/false.console.logwypisuje w konsoli – służy do podglądu wartości zmiennych podczas testów, nie użytkownikowi.onsubmitto zdarzenie formularza, które może zablokować wysłanie (return false/preventDefault).onchange,onblur,onkeyupdotyczą pola.- Skrypt dołącza
<script src="plik.js"></script>, nie<link rel="script">; komentarz jednoliniowy to//, blokowy/* */– nie#. - Tylko po stronie klienta wykonasz sprawdzanie danych w polu w czasie rzeczywistym; baza danych, autoryzacja, wysyłka e-mail to serwer.
// kod tylko do czytania – styl arkusza
var elementy = document.getElementsByClassName('wazne');
for (var i = 0; i < elementy.length; i++) {
elementy[i].style.fontWeight = 'bold'; // WSZYSTKIE elementy klasy „wazne”
}
document.getElementById('obraz').src = 'b.png'; // podmiana obrazka – trwała, nie „na przemian”
var h = location.hostname; // nazwa hosta, np. localhost
document.getElementById('host').innerHTML = h;Co wyświetli ten kod?
var liczby = [4, 7, 10, 13];
var wynik = 0;
for (var i = 0; i < liczby.length; i++) {
if (liczby[i] % 2 == 1) wynik += liczby[i];
}
document.write(wynik);Na egzaminie
Ściąga
| Pułapka | Prawda | Test w konsoli |
|---|---|---|
= w warunku | przypisuje, nie porównuje | if (x = 5) zawsze prawda |
== vs === | == konwertuje typy; switch i === nie | 3 == '3' → true, 3 === '3' → false |
&& między wartościami jednej zmiennej | nigdy prawda | k == 'a' && k == 'b' → false |
|| w zakresie | zawsze prawda | x >= 4000 || x <= 4500 |
&& silniejsze niż || | nawiasy dla „A i (B lub C)” | a && (b || c) |
'5' + 3 | '53'; '5' - 3 → 2 | plus z napisem skleja |
"true" | napis | typeof "true" → "string" |
% | reszta z dzielenia | n % 2 == 0 parzyste |
x += 10 | x = x + 10 | ⇄ x++; x = x + 9 |
new Array[1,2] | błąd – new Array(1,2) lub [1,2] | |
split / slice / includes | tablica / fragment / true-false | 'a,b'.split(',') |
obiekt.w | nie ->, :: | obiekt['w'] też poprawne |
| setter | this.inna = wartosc | nie this.tenSam |
funkcja bez return | undefined | c = f(a, b); nie f(a, b) = c; |
innerHTML / value / src / style.x | treść / pole / obraz / styl | style.fontSize, nie font-size |
getElementsByClassName | kolekcja → [i], pętla | getElementById → jeden element |
onclick | zmienia, nie przełącza | „na przemian” wymaga if |
prompt / alert / confirm | pobiera / pokazuje / true-false | console.log – podgląd w konsoli |
onsubmit | może zablokować wysłanie | return false |
<script src="">, // | osadzanie, komentarz | nie <link>, nie # |
Zadania
Tabela śledzenia
Dla każdego fragmentu zapisz na kartce wartość zmiennych po każdej linii i przewidź, co zostanie wypisane. Dopiero potem uruchom i porównaj.
var a = 5, b = '5';
var c = a + b;
var d = a * b;
document.write(c + ' ' + d + ' ' + (a == b) + ' ' + (a === b));var i = 10, suma = 0;
while (i > 0) { suma += i; i -= 3; }
document.write(suma + ' ' + i);var t = ['a', 'b', 'c'];
t.push('d');
var s = t.join('-').toUpperCase();
document.write(s.length + ' ' + s.slice(2, 5));Pokaż rozwiązanie
var a = 5, b = '5';
var c = a + b; // '55' – plus z napisem skleja
var d = a * b; // 25 – mnożenie konwertuje
console.log(c + ' ' + d + ' ' + (a == b) + ' ' + (a === b)); // 55 25 true false
var i = 10, suma = 0;
while (i > 0) { suma += i; i -= 3; } // i: 10, 7, 4, 1 → suma 22; potem i = -2 i koniec
console.log(suma + ' ' + i); // 22 -2
var t = ['a', 'b', 'c'];
t.push('d'); // ['a','b','c','d']
var s = t.join('-').toUpperCase(); // 'A-B-C-D' (7 znaków)
console.log(s.length + ' ' + s.slice(2, 5)); // 7 B-CNapisz własne pytanie egzaminacyjne
Ułóż trzy pytania w formacie CKE (treść, 4 odpowiedzi, jedna poprawna) na tematy: (1) warunek z &&/|| i nawiasami dla sytuacji z życia (np. zniżka na bilet), (2) „co wypisze kod” z operatorami skróconymi, (3) DOM – zmiana stylu lub treści. Każde pytanie musi mieć co najmniej jeden dystraktor „ortograficzny” lub „PHP-owy” i jeden „zmiana jednego znaku”. Zamień się pytaniami z kimś z klasy i sprawdź, czy da się je rozwiązać bez zgadywania.
Pokaż rozwiązanie
Przykład pytania (1): „Zniżka na bilet przysługuje, gdy pasażer ma mniej niż 26 lat lub co najmniej 65 lat, a przejazd jest dłuższy niż 50 km. Które wyrażenie?”
- A.
(wiek < 26 || wiek >= 65) && dystans > 50– poprawne - B.
wiek < 26 || wiek >= 65 && dystans > 50– brak nawiasów:&&wiąże silniej, więc dystans nie dotyczy młodych - C.
(wiek < 26 && wiek >= 65) || dystans > 50– jedna zmienna, dwa warunki z&&– nigdy prawda - D.
(wiek < 26 || wiek >= 65) && dystans => 50–=>to nie operator porównania (ortograficzny)
Przykład (2): „Co wypisze kod var n = 3; n += 2; n *= n; document.write(n % 4);?” A. 1 (poprawna: 5·5 = 25, 25 % 4 = 1), B. 25, C. 6, D. 0.
Przykład (3): „Który zapis pogrubi tekst akapitu o id tytul?” A. document.getElementById('tytul').style.fontWeight = 'bold'; (poprawna), B. document.getElementById('tytul').style.font-weight = 'bold';, C. document.getElementById('tytul').innerHTML.bold = true;, D. $('#tytul')->style('bold');.
Sklasyfikuj dystraktory
Każdy z poniższych zapisów jest błędny. Przypisz go do rodziny: ortograficzny, PHP/C++-owy, „prawie dobra metoda”, „zmiana jednego znaku”, „prawda zawsze/nigdy”.
document.getElementByID('x')if (wiek => 18)echo 'Witaj';tekst.split(0, 3)(żeby wyciąć pierwsze trzy znaki)x > 0 || x < 100(żeby sprawdzić, czy x jest w przedziale 0–100)int liczba = 5;document.getElementById('p').innerHTML.color = 'red'for (i = 0; i <= tab.length; i++)(żeby przejść po wszystkich elementach)
Pokaż rozwiązanie
- ortograficzny (
IDzamiastId); 2. zmiana jednego znaku (=>to strzałka funkcji, porównanie to>=); 3. PHP-owy; 4. prawie dobra metoda (slice(0, 3);splitdzieli na tablicę); 5. prawda zawsze (każda liczba jest większa od 0 lub mniejsza od 100) – powinno być&&; 6. C++/Java-owy (JS nie deklaruje typów); 7. prawie dobra metoda (style.color, nieinnerHTML.color); 8. zmiana jednego znaku (<=zamiast<– ostatnia iteracja sięga poza tablicę,tab[length]toundefined).
Bank pytań
Trzy zestawy w proporcjach egzaminu. Rozwiązuj każdy na czas: 10–12 pytań w 15 minut. Wynik poniżej 8/10 w zestawie oznacza, że wracasz do odpowiedniej lekcji z modułu 1 lub 2.
Zestaw A: warunki, operatory, pętle
Najczęstszy typ pytań JS w części pisemnej – ok. 40 %.
Rabat przysługuje klientowi, gdy wartość zakupów przekracza 300 zł i klient jest studentem lub seniorem. Warunek należy zapisać jako:
Klimatyzacja ma się włączyć, gdy temperatura jest w przedziale od 18 do 24 stopni włącznie. Poprawny warunek to:
Co wyświetli ten kod?
var x = 7;
if (x = 5) {
document.write('A');
} else {
document.write('B');
}Która instrukcja jest równoważna n -= 3;?
Jaką wartość wyświetli kod?
var a = 4;
a++;
a *= 2;
document.write(a);Co wyświetli przeglądarka po wykonaniu kodu?
var ocena = 5;
switch (ocena) {
case '5': alert('bdb'); break;
default: alert('inna');
}Który kod jest funkcjonalnie równoważny pętli for (var i = 1; i <= 20; i += 5) document.write(i);?
Fragment kodu ma za zadanie obliczyć:
var wynik = 0;
for (var i = 0; i < tab.length; i++) {
if (tab[i] % 2 != 0) wynik++;
}Dla której wartości x warunek (x > 10 && x < 20) || x == 50 jest prawdziwy?
Co wyświetli kod?
var a = 3, b = '3';
document.write(a == b);
document.write(a === b);Warunek „liczba n jest dwucyfrowa i parzysta” należy zapisać jako:
Jaką wartość ma zmienna w po wykonaniu kodu?
var p = 50;
var w = p > 50 ? 'zdane' : 'oblane';Zestaw B: DOM, zdarzenia, konsola
Blok „kliencki” – ok. 30 % pytań JS.
Który zapis zmieni tekst akapitu <p id='info'></p> na „Cześć”?
Jaki będzie efekt wykonania kodu?
var el = document.getElementsByClassName('wazne');
for (var i = 0; i < el.length; i++) {
el[i].style.color = 'red';
}Obraz <img id='obraz' src='a.png'> ma obok przycisk, którego atrybut onclick wykonuje document.getElementById('obraz').src='b.png'. Co pokaże obraz po dwóch kliknięciach?
Którą funkcją pobierzesz od użytkownika tekst wpisany w oknie dialogowym?
Który zapis wyświetli na stronie aktualną datę i godzinę?
Instrukcja console.log(suma); w skrypcie służy do:
Który zapis poprawnie dołącza zewnętrzny plik ze skryptem?
Który zapis jest poprawnym komentarzem jednoliniowym w JavaScript?
Co się stanie po wykonaniu kodu, jeśli strona ma trzy akapity?
var akapity = document.getElementsByTagName('p');
akapity.style.fontSize = '20px';Które zdarzenie zachodzi w chwili, gdy użytkownik opuszcza pole formularza (traci ono fokus)?
Zestaw C: napisy, tablice, obiekty, funkcje
Blok „programistyczny” – ok. 30 % pytań JS.
Co wyświetli kod?
var s = 'Programista';
document.write(s.slice(3, 7));Która metoda zamienia napis 'jabłko,gruszka,śliwka' na tablicę trzech elementów?
Który zapis tworzący tablicę jest niepoprawny?
Dla obiektu var auto = { marka: 'Fiat', rok: 2020 }; wartość 'Fiat' zwróci:
W wykropkowanym miejscu należy wpisać kod, który poprawnie obsłuży instrukcję osoba.wiek = 17;
var osoba = {
_wiek: 0,
set wiek(w) {
..........
}
};Jaką wartość ma w?
function policz(a, b, c) {
return a + b;
}
var w = policz(2, 3, 'x');Co wyświetli kod?
function dodaj(a, b) {
var suma = a + b;
}
var w = dodaj(1, 2);
document.write(w);Który zapis poprawnie wywoła funkcję pole i zapisze jej wynik w zmiennej c?
Co wyświetli kod?
var t = [5, 2, 9];
t.push(1);
document.write(t.length + ' ' + t[3]);Co wyświetli document.write('ala ma kota'.indexOf('ma'));?
Test powtórkowy
Test powtórkowy: egzamin próbny
Dziesięć pytań mieszanych – tyle JS, ile w dwóch arkuszach. Limit: 12 minut.
Darmowa dostawa przysługuje, gdy cena jest niższa niż 100 zł albo gdy produkt jest w promocji i klient jest zalogowany. Warunek to:
Jaką wartość ma x po wykonaniu var x = '5' + 3 - 1;?
Co wyświetli document.write([10, 9, 1].sort());?
Który zapis ustawi rozmiar czcionki akapitu o id p1 na 20 pikseli?
Co wyświetli kod?
var i = 0;
while (i < 5) {
i += 2;
}
document.write(i);Które zdarzenie formularza pozwala skryptowi zablokować wysłanie danych?
Co wyświetli kod?
var o = { x: 1 };
o.y = 2;
document.write(o.x + o.y);Instrukcja z kodu tworzy zmienną typu:
var z = "false";Co się stanie po załadowaniu strony z kodem przycisk.addEventListener('click', pokaz());?
Jaką wartość ma w po wykonaniu var n = 7; var w = n % 3 + n * 2;?