Napredni udžbenik JavaScript-a
Stilizacija
Stilizacija preko atributa style
Jedinice mere u atributu style
Greške sa jedinicama mere
Raspakivanje vrednosti CSS svojstava
Resetovanje stilova preko style
Masovno postavljanje stilova
Problemi čitanja stilova
Čitanje svojstava iz CSS fajlova
Konvertovanje pročitanih vrednosti
Stilizacija klasama
Jedna klasa za stilizaciju
Nepogodnost klasa
Naizmenična promena stilova preko data-
Metrike elemenata
Širenje elemenata u CSS-u
Testni element
Klijentska veličina elementa
Puna veličina elementa
Veličine elementa sa skrolovanjem
Skrolovanje elemenata
Promena skrolovanja elementa
Skrolovanje elementa do kraja
Raširenje elementa
Širina trake za skrolovanje
Metrike prozora
Veličine prozora
Veličine prozora uključujući skrolovanje
Dobijanje skrolovanja prozora
Dobijanje i menjanje skrolovanja prozora
Metod za skrolovanje prozora na poziciju
Metod za skrolovanje prozora za vrednost
Metod za skrolovanje prozora do elementa
Dogadjaj skrolovanja
Kolekcije Map
Kolekcije Set
Uvod
Početno popunjavanje
Korisne mogućnosti
Iteracija kroz petlju
Konverzija
Uklanjanje duplikata iz niza
Dobijanje bez duplikata
Pseudonizovi
Uvod
Sličnost sa nizovima
Razlike
Provera da li je niz
Konvertovanje u niz
Tipovi pseudonizova
Razlika između tipova
Simboli
Uvod u tip Symbol
Opisi simbola
Simboli kao ključevi objekta
Iteracija kroz objekat sa simbolima
Funkcija u objektu
Operacije sa objektima u funkciji
Globalni simboli
Dobijanje imena simbola
Dobro poznati simboli
Iteratori
Iterabilni objekti
Funkcija iteratora
Pozivi iteratora
Generatori
Petlje u generatorima
Jednokratni rad iteratora
Iterator objekta
Kreiranje iterabilnog objekta
Generator preko izračunatog svojstva
Ugrađeni iterator values
Ugrađeni iterator keys
Ugrađeni iterator entries
Tri ugrađena iteratora
Operator spread i iteratori
Ugrađeni iterator stringova
Niz cifara broja
Numeracija DOM elemenata
Pribavljanje podataka DOM elemenata
JSON format
Skladište
Uvod
Skladište u debugger-u
Podaci
Jednokratno čuvanje
Prepisivanje podataka
Brisanje podataka
Čišćenje skladišta
Količina zapisa
Dobijanje ključa po broju
Iteracija kroz skladište po indeksima
Nizovi ključeva i vrednosti skladišta
Čuvanje struktura
Modifikacija sačuvanih struktura
Praksa
Regularni izrazi
Uvod
Operatori ponavljanja
Grupirajuće zagrade
Escapeovanje specijalnih karaktera
Vitiaste zagrade
Ograničenje pohlepe
Grupe karaktera
Skupovi karaktera
Invertovanje skupova karaktera
Posebnosti ćirilice
Specijalni karakteri unutar skupova
Grupe karaktera unutar skupova
Specijalni karakteri-izuzeci unutar skupova
Karakter šešira (^) unutar skupova
Posebnosti crtice unutar skupova
Ignorisanje registra
Početak i kraj stringa
Granica reči
Višelinijski režim
Komanda 'ili'
Promenljiva sa regularnim izrazom
Metod test
Metod search
Metod split
Metod match
Džepovi u metodu match
Globalni match
Globalni matchAll
Metod exec
Svojstvo lastIndex
Džepovi u metodu replace
Callback u metodu replace
Podrazumevani džepovi u metodu replace
Džepovi u samom regularnom izrazu
Imenovani džepovi
Imenovani džepovi unutar izraza
Nesčuvajuće zagrade
Pozitivno i negativno gledanje unapred/unazad
String sa regularnim izrazom
Zastavice za stringove
Obrnuta kosa crta u stringovima
Izuzetne situacije
Uvod
Vrste situacija koje nastaju
Hvatanje izuzetaka
Razvoj sa try-catch
Hvatanje izuzetaka u ugniježdenom kodu
Objekat sa izuzetkom
Osnovni tipovi izuzetaka
Primjena tipova izuzetka
Bacanje izuzetaka
Bacanje različitih tipova izuzetaka
Bacanje sopstvenih tipova izuzetaka
Primjer izuzetka sa data- atributima
Primjer izuzetka sa JSON
Probijanje izuzetaka
Asinhronost
Sinhroni i asinhroni kod
Asinhronost događajnog modela
Asinhronost učitavanja slika
Izuzetne situacije u asinhronom kodu
Asinhroni povratni pozivi
Uvod
Asinhrono prosleđivanje rezultata u povratni poziv
Prosleđivanje parametara u asinhroni povratni poziv
Rukovanje izuzecima u asinhronim povratnim pozivima
Učitavanje slika
Problem callback hell
Asinhrono učitavanje slika u petlji
Promisi
Uvod u promise
Izuzetne situacije
Objekat sa greškom
Posebno hvatanje izuzetaka
Stanja promise
Lančanje promisa
Promisi unutar lanca
Izuzetci u lancima promisa
Rad sa nizovima promisa
Kreiranje ispunjenih promisa
Promisifikacija asinhronog koda
Problem promise hell
Promisi u sinhronom stilu
Izuzetci u sinhronom stilu
Biblioteke
Alati
Semantičko verzioniranje
Terminal
NodeJS
Uvod u npm
Instalacija preko npm
Kratak oblik instalacije
Zavisnosti u fajlu package.json
Dev zavisnosti
Formati verzija zavisnosti
Podešavanja fajla package.json
Kreiranje fajla package.json
Prenos npm projekta
Fajl package-lock.json
Ažuriranje paketa
Uklanjanje paketa
Globalna instalacija preko npm
Globalno uklanjanje paketa
Alat npx
Pokretanje skripti preko npm
Menadžer Yarn
ES moduli
Uvod u module
Uključivanje ES modula
Instaliranje Webpack-a
Princip rada Webpack-a
Podešavanje Webpack-a
Podešavanje pokretanja build-a Webpack-a
Testni build preko Webpack-a
Povezivanje bundle-a sa markup-om
Kreiranje ES modula
Povezivanje ES modula
Preimenovanje pri import-u
Import celog sadržaja modula
Export podrazumevani
Kombinacija export-a
Import celog sadržaja pri kombinaciji export-a
Export vrednosti
Vrednosti kao konstante
Import npm modula
Dinamički import
Dinamički višestruki import
Konvertovanje CommonJS modula
HTTP protokol
Test server
Uvod
Korišćenje
Izvršavanje koda
Generisanje HTML-a
Zaglavlja odgovora
Podešavanje porta
Višestruko pokretanje
Forme
Slanje formi
Metode slanja formi
Slanje formi metodom GET
Slanje formi metodom POST
GET upiti
Primena GET upita
Dugmići forme
Slanje formi preko JavaScript-a
Sprečavanje slanja forme
Uvod u FormData
Metode FormData
Iterator-i FormData
AJAX
Uvod u AJAX
Osnove rada sa fetch
Kod HTTP odgovora
Uspešnost zahteva
Izuzetne situacije
Potpuno hvatanje grešaka
Zaglavlja HTTP odgovora
Dobijanje JSON
Zaglavlja HTTP zahteva
GET zahtevi
POST zahtevi
Podaci preko URLSearchParams
Podaci preko FormData
Slanje cele forme
Slanje JSON
Politika CORS
Prenos kolačića
Sinhroni stil
Rad sa canvas-om
Početak rada
Crtanje linija
Crtanje pravougaonika
Crtanje krugova
Promena boje linije
Promena debljine linija
Petlje
Optimizacija koda
Faktori brzine učitavanja sajta
Dostupni resursi
Optimizacija ponovnih operacija
Optimizacija ponavljanja teških operacija
Optimizacija cikličnih operacija
Optimizacija suvišnih prolaza kroz petlju
Optimizacija putem ugrađenih funkcija
Izbor optimalnog algoritma
Optimizacija korišćenja regularnih izraza
Optimizacija rada sa DOM-om
Optimizacija potrošnje memorije
Optimizacija konverzije u niz
Optimizacija rukovalaca događajima
Optimizacija brzine na račun memorije