Osnovni udžbenik JavaScript
Osnove
Uvod
Pokretanje JavaScript-a
Prvi program u JavaScript-u
Analiza koda programa
Dalji primeri
Fajlovi sa skriptama
Više fajlova
Napomena
Keširanje fajlova
Striktni mod
Komentari
Promenljive
Korišćenje promenljivih
Deklaracija više promenljivih
Promene vrednosti promenljivih
Više let za jednu promenljivu
Matematičke operacije sa brojevima
Matematičke operacije sa promenljivim
Prioritet matematičkih operacija
Jednak prioritet
Grupirajuće zagrade
Razlomci
Negativni brojevi
Plus ispred promenljivih
Ostatak pri deljenju
Stepenovanje
Prioritet stepenovanja
Stringovi
Sabiranje stringova
Dužina stringa
Šablonski stringovi
Višelinijski stringovi
Specijalne vrednosti
Vrednost undefined
Vrednost null
Vrednosti true i false
Vrednost NaN
Infinity i -Infinity
Konzola
Tip podataka u konzoli
Greške u konzoli
Konstante
Automatska konverzija tipova
Konverzija u broj
Kratka konverzija u broj
Konverzija nekorektnih brojeva
Izdvajanje brojeva
Konverzija u string
Primena konverzije u string
Konverzija logičkog tipa
Konverzija u logički tip
Karakteri stringa
Nepromenljivost stringova
Poslednji karakter stringa
Stringovi sa ciframa
Pristup ciframa broja
Operacije za promenu promenljive
Skraćene operacije u JavaScript-u
Inkrementacija
Prefiksni i postfiksni tip
Netačni proračuni
Funkcija prompt
Problem sa tipovima u prompt
Ispis u dokument
Vežba za pronalaženje grešaka
Vežba na operacije
Vežba na formule
Nizovi
Uvod u nizove
Dobijanje elemenata
Dužina niza
Menjanje elemenata
Prepisivanje elemenata niza
Inkrementacija elemenata
Dodavanje elemenata po ključevima
Rarefakovani nizovi
Dodavanje elemenata preko push
Ključevi iz promenljivih
Operator delete
Praksa za pronalaženje grešaka
Objekti
Uvod u objekte
Prikaz celog objekta
String ključevi objekata
Svojstva objekata
Ograničenja za ključeve objekata
Izmena elemenata
Dodavanje elemenata
Neuređenost objekata
Niz ključeva objekta
Dužina objekta
Ključevi iz promenljivih
Greška u pristupu elementu
Greška u pristupu svojstvu
Izračunata svojstva
Operator in
Operator delete
Tipizacija objekata
Nizovi kao objekti
Razlikovanje nizova od objekata
Objekti i primitivni tipovi
Prenošenje objekata preko reference
Konstante
Pristup programiranju kroz konstante
Vežba za pronalaženje grešaka
Uslovi
Konstrukcija if-else
Operatori veće i manje
Provera jednakosti
Provera nejednakosti
Poređenje promenljivih
Jednakost stringova
Jednakost stringova i brojeva
Jednakost po vrednosti i tipu
Nejednakost po vrednosti i tipu
Logičko I
Logičko ILI
Prioritet logičkih operatora
Grupisanje uslova
Invertovanje logičkih izraza
Uslovi sa Bulovim vrednostima
Poređenje vrednosti sa Bulovim tipom
Skraćeni oblik provere za istinitost
Skraćeni oblik provere za laž
Opšti skraćeni oblik provere
Složeni uslovi u skraćenom obliku
Neobaveznost konstrukcije else
Neobaveznost vitičastih zagrada
Problem neobaveznosti zagrada
Konstrukcija else if
Ugnježdene konstrukcije if-else
Konstrukcija switch-case
Neobaveznost break
Ternarni operator
Logičke operacije
Funkcija confirm
Opseg vidljivosti
Nijanse opsega vidljivosti
Provera delova sata
Provera dužine stringova i nizova
Provera karaktera stringa
Provera cifara broja
Provera ostatka pri deljenju
Praksa na pronalaženje grešaka
Praksa
Petlje
Uvod
Petlja for-of
Petlja for-in
Petlja while
Petlja for
Petlja for za nizove
Uslovi u petljama
Akumuliranje zbira brojeva
Akumuliranje zbira elemenata
Formiranje stringova
Cifre broja
Opcionalnost vitičastih zagrada
Problem opcionalnosti zagrada
Instrukcija break
Instrukcija continue
Ugnježdene petlje
Opseg vidljivosti
Ugnježdene petlje i opseg vidljivosti
Popunjavanje nizova
Izmena nizova
Popunjavanje objekata
Izmena objekata
Rad sa zastavicama
Saveti za pisanje koda
Saveti za otklanjanje grešaka
Praksa na pronalaženje grešaka
Praksa
Višedimenzionalnost
Višedimenzionalni nizovi
Trodimenzionalni niz
Proizvoljni nizovi
Iteracija kroz višedimenzionalne nizove
Iteracija pomoću običnog for petlje
Popunjavanje višedimenzionalnih nizova
Problemi pri popunjavanju višedimenzionalnih nizova
Popunjavanje višedimenzionalnih nizova po redu
Višedimenzionalni objekti
Iteracija kroz višedimenzionalne objekte
Višedimenzionalne strukture
Iteracija kroz višedimenzionalne strukture
Niz objekata
Ključevi iz promenljivih
Dodavanje elemenata u nizove
Dodavanje elemenata u objekte
Standardne metode
Stepeni
Funkcije zaokruživanja
Ekstremumi
Slučajni brojevi
Apsolutne vrednosti
Registar slova
Isecanje stringova
Pretraga stringova
Zamena u stringovima
Razdvajanje stringova
Krajnji elementi
Delovi nizova
Isecanje nizova
Pretraga nizova
Ključevi objekata
Praksa na pronalaženje grešaka
Korisničke funkcije
Uvod
Parametri funkcije
Više parametara
Parametri kao promenljive
Opcioni parametri
Instrukcija return
Sekvencijalno pozivanje funkcija
Finija tačka return-a
Petlja i return
Primena return u petljama
Trik u radu sa return-om
Zastavice u funkcijama
Logički operatori u funkcijama
Saveti o funkcijama
Praksa na pronalaženje grešaka
Praktikum za funkcije
Promenljive funkcija
Globalne promenljive
Lokalne promenljive
Poklapanje imena promenljivih
Izmena globalnih promenljivih
Globalne promenljive i parametri funkcija
Poklapanje imena sa parametrima
Parametri-objekti
Tipovi funkcija
Izvorni kod funkcije i rezultat
Funkcija kao promenljiva
Upisivanje funkcije u drugu promenljivu
Dodeljivanje funkcija u promenljive
Poklapanje imena funkcije i promenljive
Tipovi deklaracija
Razlika u deklaracijama funkcija
Tačka zarez pri deklaraciji funkcija
Nijanse funkcionalnih izraza
Funkcija sa imenom, ali Function Expression
Imenovani funkcionalni izrazi
Kako proveriti tip funkcije
Izraz sa leve strane
Izraz sa desne strane
Niz sa funkcijama
Objekat sa funkcijama
Primena objekta sa funkcijama
Ugnježđene funkcije
Prenošenje funkcija kao parametara
Imenovane funkcije
Parametri prosleđenih funkcija
Prenošenje broja kao parametra
Primena
Unutrašnje funkcije
Opseg vidljivosti ugnježđenih funkcija
Parametri spoljašnje funkcije
Parametri spoljašnje i unutrašnje funkcije
Parametri istog imena
Funkcija koja vraća funkciju
Bilo koji nivo ugnježđenosti
Parametri vraćene funkcije
Funkcije-povratni pozivi (callback)
Nijanse povratnih poziva
Streličaste funkcije
Primena streličastih funkcija
sinh. s prevodom
Zatvaranja
Pristup spoljnim promenljivama
Leksičko okruženje funkcija
Primena leksičkog okruženja
Uvod u zatvaranja
Brojač na zatvaranjima
Nijansa lokalna promenljiva
Nijansa globalna promenljiva
IIFE
Pozivanje funkcije na mestu
Dodeljivanje funkcije promenljivoj
Primena poziva funkcije na mestu
Obične zagrade
Parametri
Višestruki pozivi
Zamke
Tačka zarez za bezbednost
Zatvorenja i IIFE
Rekurzija
Uvod
Primer sa parametrom
Suma elemenata niza pri rekurziji
Višedimenzionalne strukture
Suma elemenata niza
Manipulacije strukturama
Metode za iteraciju
Metoda map
Metoda forEach
Metoda filter
Metoda every
Metoda some
Metoda find
prevod, zadaci
Metoda reduce
prevod, zadaci
Spread operator
Uvod
Napredniji primeri
Ekstremne vrednosti niza
Spajanje nizova
Razbijanje stringova
Razbijanje brojeva
Operator rest
Destrukturizacija
Destrukturizacija nizova
Niz iz funkcije
Preskakanje elemenata niza
Prekobrojne vrednosti niza
Ostatak niza
Podrazumevane vrednosti za nizove
Funkcije po podrazumevanoj vrednosti za nizove
Deklarisanje promenljivih za nizove
Destrukturizacija objekata
Imena promenljivih za objekte
Podrazumevane vrednosti za objekte
Promenljive i podrazumevane vrednosti za objekte
Deklarisanje promenljivih za objekte
Parametri funkcija
Destrukturizacija objekata parametara funkcija
Vreme
Rad sa objektom Date
Formatiranje
Promena formata datuma
Dobijanje dana u nedelji
Ispisivanje datuma rečju
Podešavanje vremena
Format timestamp-a
Razlika između timestamp-ova
Razlika objekata sa datumima
Automatska korekcija datuma
Pronalaženje poslednjeg dana u mesecu
Određivanje prestupne godine
Provera ispravnosti
Dobijanje dana tekuće godine
Dan sledećeg ili prethodnog meseca
Dan sledeće ili prethodne godine
Razlika momenata
Momenat vremena u danu
Početak dana
Kraj dana
Ciklična provera momenata vremena
Praksa na dobijanje momenata vremena
Upoređivanje stringova
Upoređivanje datuma bez godine
Pogodak datuma u interval
Upoređivanje objekata sa datumom
Uvod u DOM
Uvod
DOM elementi
Dobijanje DOM elemenata
Složeni selektori DOM elementa
Povezivanje rukovaoca
Imenovani rukovaoci
Jedan rukovalac za elemente
Rukovaoci jednog događaja
Rukovaoci različitih događaja
Tekst elementa
HTML kod elementa
Atributi tagova kao svojstva
Rad sa tekstualnim poljima
Fokus tekstualnih polja
Atributi-izuzeci
Lanac metoda i svojstava
Prednosti i nedostaci lanaca
Objekat this
Prednost this-a
Dobijanje grupe elemenata
Imenovani rukovaoci u petlji
Anonimni rukovaoci u petlji
Odvezivanje rukovaoca događaja
Odvezivanje rukovaoca u petlji
Odvezivanje anonimnih rukovaoca
Saveti za pisanje koda
Praksa na pronalaženje grešaka
Praktikum
Atributi
Metod za dobijanje atributa
Metod za postavljanje atributa
Metod za uklanjanje atributa
Metod za proveru atributa
Korisnički atributi
Imena atributa sa defisima
Pristupanje atributima preko metoda
Niz CSS klasa
Dodavanje CSS klasa
Uklanjanje CSS klasa
Provera CSS klasa
Paljenje/isključivanje CSS klasa
Stilizacija
Stilizacija preko atributa style
Stilizacija svojstava sa defisom
Izuzetak pri stilizaciji elemenata
Stilizacija preko CSS klasa
Prednost stilizacije uz pomoć CSS klasa
Primena stilizacije
Pretraga
Pronalaženje potomaka elemenata
Pronalaženje roditelja elemenata
Pretraga svih roditelja elemenata
Pretraga susednih elemenata
Pretraga elementa po id-u
Pretraga elementa po imenu taga
Pretraga elementa po imenu klase
Pretraga unutar elementa
Čvorovi
Forme
Rad sa textarea
Blokiranje elemenata
Rad sa checkbox-ovima
Izmena atributa bez vrednosti
Rad sa radio dugmadima
Change događaj
Input događaj
Focus i blur metode
Praksa na pronalaženje grešaka
Padajući meniji
Rad sa padajućim menijima
Atribut value u padajućim menijima
Izmena izabrane stavke menija
Broj izabrane stavke menija
Dobijanje stavki padajućeg menija
Stavke kao niz
Rad sa stavkama padajućeg menija
Izbor stavke menija
Dobijanje izabrane stavke
Objekat Event
Osnove rada sa objektom Event
Koordinate događaja
Tip događaja
Element događaja
Dobijanje pritisnutih tastera
Praćenje tastera-modifikatora
Otkazivanje podrazumevane akcije
Izdizanje (bubbling) događaja
Ciljni element pri izdizanju
Zaustavljanje izdizanja događaja
Više handlera na elementu
Neposredno zaustavljanje izdizanja
Primena zaustavljanja izdizanja događaja
Potapanje (capturing) događaja
Handleri na novim elementima
Delegiranje događaja
Univerzalno delegiranje događaja
Kontekst
Osnove rada sa kontekstom
Kontekst nevezane funkcije
Gubitak konteksta
Rešenje problema sa kontekstom
Rešenje preko promenljive
Rešenje preko parametra
Rešenje preko streličaste funkcije
Metod call
Metod call sa parametrima
Metod apply
Metod bind
Timeri
Pokretanje tajmera
Brojač na tajmeru
Zaustavljanje tajmera
Dugmad za pokretanje
Višestruko pokretanje
Dugmad za zaustavljanje
Rad sa DOM-om
Timeri i gubitak konteksta
Praksa na tajmere i DOM
Kašnjenje pre izvršenja
Tajmer preko kašnjenja
Manipulisanje elementima
Kreiranje i umetanje elemenata
Dodavanje događaja prilikom umetanja
Kreiranje elemenata u petlji
Dodavanje handlera u petlji
Uklanjanje elemenata
Umetanje sa ivice
Umetanje ispred
Susedno umetanje
Susedno umetanje tagova
Kloniranje elemenata
Provera elemenata
Vežba
Kreiranje elemenata iz niza
Vežba na kreiranje ul lista
Kreiranje tabela
Sekvencijalno popunjavanje tabela
Kreiranje tabele iz niza
Kreiranje tabele iz niza objekata
Dodavanje redova i kolona u tabelu
Izmena ćelija tabele
Uklanjanje novih elemenata
Link za uklanjanje elementa
Kreiranje linkova za uklanjanje
Uređivanje pojedinačnog elementa
Sakrivamo tekst prilikom uređivanja
Uređivanje u setu elemenata
Uklanjanje i uređivanje
Stylizacija elemenata
Dugmad za sakrivanje i prikaz elementa
Više elemenata sa dugmadima za prikaz
Aktivacija elemenata
Naizmenična menjanja stilova aktivacije
Vežba na izmenu elemenata
Funkcije i DOM
Funkcije za rad sa DOM elementom
Funkcije za rad sa grupom elemenata
Prosleđivanje callback-a za rad sa DOM-om
Prosleđivanje rednog broja u callback
Prosleđivanje elementa kao parametra funkcije
Prosleđivanje grupe elemenata parametrima
Funkcija za kreiranje HTML tabela
Vraćanje tabele iz funkcije
Funkcija za kreiranje tabele iz niza