Upload
dusan-stankovic
View
292
Download
4
Embed Size (px)
Citation preview
HTML, CSS i JAVASCRIPTWEB TEHNOLOGIJE - predavanje 6
START IT - INĐIJA
Promenljive (var)
Osnovne operacije (+, -, *, /, %, &&, ||, !)
Stringovi (length, concat, substring, indexOf)
if/else (===, !==, >=...)
Šta smo naučili?
FunkcijeFunkcije predstavljaju neku “radnju”
Kopir mašina
dokument
kopija dokumenta
FunkcijeOmogućava ponavljanje koda bez dodatnih “ulaganja”Omogućava da grupišemo u manje celine
function naziv(ulaz){// kod koji se izvršava kada
se pozove
}
Ključna reč koja označava da predstoji definicija funkcije
ime kojim se jedinstveno identifikuje funkcijaulazni podaci
FunkcijeDa bi se funkcija izvršila, mora se
pozvativar ulaz = “Neki dokument”;
function odstampajDokument(dokument){
console.log(dokument);}
odstampajDokument(ulaz);
poziv
FunkcijeFunkcije mogu da vraćaju rezultat
function pretraziGoogle(pojam){var rezultat;
// ovde se pita Google za rezultate i stavlja se u
// promenljivu rezultatreturn rezultat;
}
var rezultatPretrage = pretraziGoogle(“javascript”);
Pamtimo rezultat u novu promenljivu
return služi da prosledi vrednost iz funkcije nazad na mesto gde se funkcija poziva
Funkcijefunction stampanje(ulaz){ console.log(ulaz);}
function sabiranje(a,b){ console.log(a+b);}
function firstLast4(tekst){ var first = tekst.substr(0,4); var last = tekst.substr(tekst.length-4, tekst.length); console.log(first + “ “ + last);}
Funkcijefunction sabiranje(a,b){ return a + b;}var rezultat = sabiranje(5,4);
function duzeOd(tekst,duzina){ if (tekst.length > duzina){
return true;}return false;}
if( duzeOd(“javascript”,5) ){
console.log(“Tekst je duzi od 5”);
}
PodsetnikVEŽBA function
odstampaj(tekst){ console.log(tekst);}
function sabiranje(x,y){ return x + y;}
var x = sabiranje(3,4)
1. Napisati funkciju koja prima kao ulaz 3 broja, a, b i c i štampa srednju vrednost
2. Napisati funkciju koja prima 2 stringa, spaja ih i ukoliko je dužina novog stringa veća od 10, vraća tu dužinu, a u suprotnom vraća tekst “tekst je previše kratak”
Kompleksni tipovi2, 3.14, true, “prosti tipovi”
- Brojevi, stringovi, logičke vrednosti su prosti tipovi
Kompleksni tipovi čuvaju više od jedne informacijeObjekat - kompleksan tip, omogućava lakše
struktuiranje podatakavar osoba = {ime: “Dušan”,prezime: “Stanković”,jmbg: 309989110913
}
Objektivar osoba = {
ime: “Dušan”,prezime: “Stanković”,jmbg: 309989110913
}Polje koje se nalazi u objektu se
naziva propertyPristup određenom propertiju je moguće na 2 načina:
osoba.jmbg
ime objekta
ime propertija osoba[‘jmbg’]
Objektivar osoba = {
ime: “Dušan”,prezime: “Stanković”,jmbg: 309989110913
}
console.log(osoba.ime);
osoba.brojLk = 39900177;console.log(osoba.jmbg);console.log(osoba[brojLk]);
Objektivar post = {
author: “Dusko Vesin”,parentAuthor: “Startit
Centar Indjija”,datetime: “May-11-
2016-12:40:00”,description: “Pedja
Rusic je poznati...”,date: “13-May-2016”,event: “...”,likes: 3
}
Nizovi
1 1 2 3 5 8 13 21 34 550 1 2 3 4 5 6 7 8 9
Kolekcija više promenljivih - NIZvar brojevi = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55];var reci = [“js”, “index”, “array”, ”object”];var kombinovano = [“js”, 3, 4, “startit”, 3.14, true];
Nizovi
1 1 2 3 5 8 13 21 34 550 1 2 3 4 5 6 7 8 9
Pristup određenom elementu nizavar brojevi = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55];
brojevi[3]brojevi[8]
NizoviFunkcije za rad sa nizovima
var brojevi = [3, 4, 5, 6];
brojevi.push(10);
var broj = brojevi.pop();
[3, 4, 5, 6, 10]
[3, 4, 5, 6]
Dodavanje novog elementa na kraj niza
Skidanje elementa sa kraja niza
brojevi.lengthDužina niza
4
Primerivar pretraga = [ rezultat1,rezultat2,rezultat3...]
VEŽBA Podsetnikvar objekat = {
ime: ‘Dusan’, prezime: ‘Stankovic’}
objekat.imeobjekat[‘prezime’]objekat.pol = ‘M’;
var niz = [3, 5, 6, 8];
niz[1] - vraća 5niz[1] = 15; - postavlja 15 na lokaciju sa indeksom 1;niz.pop() - skida poslednji
niz.push(10); - dodaje 10
niz.length
1. Napraviti objekte koji sadrži osnovne informacije vaših suseda (ime, prezime, godina rodjenja, omiljen html tag, omiljen css property)
2. Napravljene objekte dodati u nov niz. 3. Kreirati jos jedan objekat sa vašim
informacijama (kao i gore) i zameniti ga sa prvim članom niza.
PetljePetlje uglavnom služe za prolazak kroz niz i obradu svakog elementa
pojedinačno
Petljefor( pocetnoStanje; uslov; inkrementacijaStanja){
Kod koji će se izvršavati unutar petlje}1. Početno stanje predstavlja podešavanje početnog stanja
odnosno brojača koji će pamtiti dokele smo došli sa kretanjem
2. Ako je uslov zadovoljen, for petlja će se izvršiti, ukoliko je uslov uvek true, dolazi do endless loop-a
3. inkrementacijaStanja uglavnom uvek menja stanje koje direktno utiče na uslov, služi za kontrolu da li će se petlja izvršiti sledeći put ili ne
Petlje
for(var i=0; i < 10; i=i+1){console.log(i)
}
Početno podešavanje vrednosti (stanja) Ako je uslov zadovoljen petlja se
izvršava
Povećavanje vrednosti kako bi na kraju izašli iz petlje
Petljefor(var i=0; i <= 9; i=i+3){
console.log(i)}
var niz = [‘Danas’, ‘je’, ‘lep’, ‘dan’];for(var i=0; i < niz.length; i=i+1){
console.log(niz[i])}for(var i=10; i > 0;
i=i-1 ){
console.log(i)}
i predstavlja indeks
VEŽBA1. Napisati funkciju koja prima niz
brojeva kao parametar i povećava svaku vrednost niza za 3
2. Napisati funkciju koja prima niz brojeva i vraća sumu(zbir) svih elemenata koji su veći od 5
3. Napisati funkciju koja prima niz stringova i spaja ih u jednu rečenicu ubacujući zarez između svakog stringa
for(var i=0; i < 10; i=i+1){
console.log(i)}
Podsetnik
Zadaci #5, #9 i #10 su obavezni.
Pored ova 3 obavezna zadatka potrebno je uraditi još 4 po izboru za “prolaz”.
DOMAĆI ZADATAKPravila
Napisati funkciju koja prima 3 broja, ako je zbir tri broja veci od 30, vraca true, a ako nije, false.
DOMAĆI ZADATAK1/10
Napisati funkciju koja prima niz stringova i za svaki string proverava da li je početno slovo tog stringa samoglasnik (a,e,i,o,u). Ako je uslov ispunjen, menja taj string sa “nono”.
DOMAĆI ZADATAK2/10
Napisati funkciju koja prima niz i štampa najmanju i najveću vrednost u nizu.
DOMAĆI ZADATAK3/10
Napisati funkciju koja prima string i karakter kao ulaz. Funkcija broji koliko se puta zadati karakter nalazi u zadatom stringu i vraća taj broj.
DOMAĆI ZADATAK4/10
Napisati funkciju koja prima ceo broj n i za sve brojeve od 1 do n sabira posebno parne, a posebno neparne brojeve. Funkcija vraća razliku ove dve sume.
DOMAĆI ZADATAK5/10
Funkcija prima 2 cela broja a i b. Za sve brojeve između a i b ištampaj samo brojeve koji su deljivi sa 7.
DOMAĆI ZADATAK6/10
Napisati funkciju koja prima niz brojeva. Funkcija unutar sebe ima definisan rezultat koji je na početku nula. Za svaki broj proveravamo sledeće:Ako je broj manji od 10 množimo rezultat tim brojem.Ako je broj veći od 10, a manji od 50, oduzima se od rezultata.Ako je broj veći od 50 dodaje se na rezultat.
DOMAĆI ZADATAK7/10
Funkcija prima 3 parametra: niz stringova i dva broja a i b. Proći kroz sve elemente niza od indeksa a do b i za svaki string proveriti da li sadrži neki broj u sebi (ovo se može izdvojiti u posebnu funkciju). Ako sadrzi, ispisati “String sadrži broj”, a u suprotnom “String ne sadrži broj”.
DOMAĆI ZADATAK8/10
Funkcija prima neki string i broji koliko samoglasnika ima(a,e,i,o,u). Rezultate brojenja stavlja u jedan niz i vraća taj niz.
DOMAĆI ZADATAK9/10
Napisati funkciju koja prima ceo broj (n) i za sve brojeve od 1 do n proverava da li su deljivi sa 3 i 5. Ako je broj deljiv sa 3, ispisati "Fizz", ako je deljiv sa 5, ispisati "Buzz", a ako je deljiv i sa 3 i sa 5, ispisati "FizzBuzz".
DOMAĆI ZADATAK10/10
HVALA VAM NA PAŽNJI!PITANJA?