Zadanie 33 z arkusza E.14, czerwiec 2014

JavaScript Poziom: trudne

Które wartości będą kolejno wypisane w wyniku działania przedstawionego skryptu?

<SCRIPT language = "JavaScript">
    var x = 1;
    var y;
    /*0*/++y;
    /*1*/document.write (++x);
    /*2*/document.write (" ");
    /*3*/document.write (x--);
    /*4*/document.write (" ");
    /*5*/document.write (x);
</SCRIPT>
Wybierz odpowiedź

Cały arkusz E.14, czerwiec 2014

Pokaż odpowiedź i wyjaśnienie

Poprawna odpowiedź: A

2 2 1

Dlaczego

++x najpierw zwiększa x do 2 i wypisuje 2. x-- wypisuje bieżące 2, a dopiero potem zmniejsza x do 1, więc ostatnie write wypisuje 1. Zmienna y nie wpływa na wynik.