description | author | license |
---|---|---|
Programsko inženjerstvo - Struktura programa |
Nikola Tanković |
CC BY-SA |
(prilagođeno prema knjizi Eloquent Javascript)
Sav Javascript se može isprobati u konzoli internet preglednika ili na adresi https://jsconsole.com/.
U prethodnom smo poglavlju upoznali osnovne Javascript tipove vrijednosti, te unarne i binarne operatore nad njima. Potrebno je kombinirati vrijednosti i operatore u složenije izraze koje stvaraju nove vrijednosti.
Vrijednosti se pohranjuju u varijablama koje predstavljaju stanje programa. Varijable je potrebno deklarirati (ključna riječ let
), a zatim im i postaviti vrijednost pomoću operatora =
.
let varijabla; // deklaracija
varijabla = 10; // postavljanje vrijednosti
let nova_varijabla = 11; // ... u jednom koraku
console.log(varijabla, nova_varijable)
Postoji i posebna vrsta varijable const
kojoj nije dozvoljeno promijeniti jednom inicijaliziranu vrijednost.
const konstanta = 3.14;
konstanta = konstanta + 1; //TypeError!
Varijable u Javascriptu mogu početi bilo kojim slovom te znakovima $
i _
.
Okruženje. Skup svih pridruženih vrijednosti varijabli naziva se okruženje. Pri pokretanju programa već postoji set unaprijed definiranih varijabli, primjerice varijabla console
. Takve predefinirane varijable omogućuju komunikaciju s ostalim djelovima sustava (npr. ispis, čitanje korisničkih podataka, ...).
Funkcije. Tip "funkcija" u Javascriptu predstavlja dio programa koji je potrebno izvršiti vezan uz neki naziv (binding). Za razliku od ostalih programskih jezika, funkcije su vezane uz naziv kao i varijable, s tom razlikom da ih je moguće izvršiti (pozvati). Pozivanje se izvršava tako da se nakon naziva varijable koja sadrži funkciju napišu zagrade s listom argumenata (
i )
.
// prompt je funkcija za unos podataka
prompt(); // poziv bez argumenata
prompt("Unesi neki broj"); // poziv s argumentima
Kako su funkcije vezane uz naziv kao i varijable, moguće ih je čak promijeniti da označavaju nešto drugo.
Primjer:
var a = prompt("Unesi neki broj:");
console.log(a);
prompt = "više nisam funkcija";
var b = prompt("Unesi neki broj:") // TypeError!
Uvjetno izvođenje. Uvjetno izvođenje određeno je ključnom riječi if
i else
te se ponaša slično kao u programskom jeziku C.
let theNumber = Number(prompt("Odaberi jedan broj"));
if (!Number.isNaN(theNumber)) {
console.log("Odabrao si korijen od broja " +
theNumber * theNumber);
}
Pitanje: čemu služi funkcija **Number ** iz primjera?
Petlje. Postoje tri vrste petlji u Javascriptu:
while
petljado while
petljafor
petlja
Primjeri:
let result = 1;
let counter = 0;
while (counter < 10) {
result = result * 2;
counter = counter + 1;
}
console.log(result);
// → 1024
let yourName;
do {
yourName = prompt("Who are you?");
} while (!yourName);
console.log(yourName);
for (let number = 0; number <= 12; number = number + 2) {
console.log(number);
}
Slično kao i u C-u, ukoliko je potrebno prekinuti izvođenje petlje, možemo to učiniti pomoću ključne riječi break
, dok sa continue
preskačemo ostatak trenutnog izvođenja i prelazimo na sljedeće ponavljanje.
-
(JS-201) Napiši petlju koja će ispisati u konzolu sljedeće
# ## ### #### #####
-
(JS-202) FizzBuzz. Napiši program koji će ispisati sve brojeve od 1 do 100 uz dvije iznimke. Ukoliko je broj djeljiv s 3 umjesto njega će ispisati "Fizz", ukoliko je djeljiv s 5, umjesto njega će ispisati "Buzz", a ako je djeljiv s 3 i 5, ispisat će umjesto njega "FizzBuzz".
-
(JS-203) Napiši program koji ispisuje šahovsko polje koristeći razmak (
" "
) i znak#
:# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
Napravi program tako da postoji na početku definirana varijabla
velicina
koja označava veličinu kvadrata (nprlet velicina = 5
.