Основни водич за JavaScript
Основе
Увод
Покретање JavaScript-а
Први програм у JavaScript-у
Анализа кода програма
Даљи примери
Датотеке са скриптама
Више датотека
Напомена
Кеширање датотека
Строги режим
Коментари
Променљиве
Коришћење променљивих
Декларисање више променљивих
Промене вредности променљивих
Више let-ова за једну променљиву
Математичке операције са бројевима
Математичке операције са променљивим
Приоритет математичких операција
Једнак приоритет
Групишуће заграде
Разломци
Негативни бројеви
Плус испpred променљивих
Остатак при дељењу
Степеновање
Приоритет степеновања
Низови
Сабирање низова
Дужина низа
Шаблонски низови
Вишередност
Посебне вредности
Вредност undefined
Вредност null
Вредности true и false
Вредност NaN
Infinity и -Infinity
Конзола
Тип података у конзоли
Грешке у конзоли
Константе
Аутоматска конверзија типова
Конверзија у број
Кратка конверзија у број
Конверзија некоректних бројева
Издвајање бројева
Конверзија у низ
Примена конверзије у низ
Конверзија логичког типа
Конверзија у логички тип
Знакови низа
Непроменљивост низова
Последњи знак низа
Низови са цифрама
Приступање цифрама броја
Операције за промену променљиве
Скраћене операције у JavaScript-у
Инкрементација
Префиксни и постфиксни тип
Нетачни прорачуни
Функција prompt
Проблем са типовима у prompt-у
Испис у документ
Практикум на проналажење грешака
Практикум на операције
Практикум на формуле
Низови
Увод у низове
Добијање елемената
Дужина низа
Мењање елемената
Поновно уписвање елемената низа
Инкрементација елемената
Додавање елемената по кључевима
Разређени низови
Додавање елемената преко push
Кључеви из променљивих
Оператор delete
Пракса на проналажење грешака
Објекти
Увод у објекте
Приказ целог објекта
Стринг кључеви објекта
Својства објеката
Ограничења за кључеве објеката
Мењање елемената
Додавање елемената
Неуређеност објеката
Низ кључева објекта
Дужина објекта
Кључеви из променљивих
Грешка приступа елементу
Грешка приступа својству
Израчунљива својства
Оператор in
Оператор delete
Типизација објеката
Низови као објекти
Разликујемо низове од објеката
Објекти и примитиви
Прослеђивање објеката референцом
Константе
Приступ програмирања кроз константе
Пракса на проналажење грешака
Услови
Конструкција if-else
Оператори веће и мање
Провера једнакости
Провера неједнакости
Поређење променљивих
Једнакост стрингова
Једнакост стрингова и бројева
Једнакост по вредности и типу
Неједнакост по вредности и типу
Логичко И
Логичко ИЛИ
Приоритет логичких оператора
Груписање услова
Инвертовање логичких израза
Услови са буловим вредностима
Поређење вредности са буловим типом
Скраћени облик провере на истину
Скраћени облик провере на лаж
Општи скраћени облик провере
Комплексни услови у скраћеном облику
Необавезна конструкција else
Необавезност витичастих заграда
Проблем необавезности заграда
Конструкција else if
Угнежђене конструкције if-else
Конструкција switch-case
Необавезност break
Тернарни оператор
Логичке операције
Функција confirm
Област видљивости
Нијансе области видљивости
Провера делова сата
Провера дужине стрингова и низова
Провера карактера стринга
Провера цифара броја
Провера остатка при дељењу
Пракса на проналажење грешака
Пракса
Петље
Увод
Петља for-of
Петља for-in
Петља while
Петља for
Петља for за низове
Услови у петљама
Акумулирање збира бројева
Акумулирање збира елемената
Формирање ниски
Цифре броја
Опционалност витичастих заграда
Проблем опционалности заграда
Инструкција break
Инструкција continue
Угнежђене петље
Опсег видљивости
Угнежђене петље и опсег видљивости
Попуњавање низова
Мењање низова
Попуњавање објеката
Мењање објеката
Рад са заставицама
Савети за писање кода
Савети за отклањање грешака у коду
Пракса на проналажење грешака
Пракса
Видимензионалност
Видимензионални низови
Тродимензионални низ
Произвољни низови
Итерација кроз видимензионалне низове
Итерација кроз обичан for
Попуњавање видимензионалних низова
Проблеми при попуњавању видимензионалних низова
Попуњавање видимензионалних низова по реду
Видимензионални објекти
Итерација кроз видимензионалне објекте
Видимензионалне структуре
Итерација кроз видимензионалне структуре
Низ објеката
Кључеви из променљивих
Додавање елемената у низове
Додавање елемената у објекте
Стандардне методе
Степени
Функције заокругљавања
Екстреми
Рандом
Апсолутне вредности
Регистар карактера
Извлачење делова стринга
Претрага стрингова
Замена у стринговима
Разбијање стрингова
Крајњи елементи
Делови низова
Извлачење делова низова
Претрага низова
Кључеви објеката
Пракса на претраживање грешака
Кориснички дефинисане функције
Увод
Параметри функције
Више параметара
Параметри-променљиве
Опциони параметри
Инструкција return
Секвенцијално позивање функција
Фине ствари са return
Петља и return
Примена return у петљама
Трик у раду са return
Флагови у функцијама
Логички оператори у функцијама
Савети око функција
Практикум на тражење грешака
Практикум на функције
Променљиве функција
Глобалне променљиве
Локалне променљиве
Подударање имена променљивих
Промена глобалних променљивих
Глобалне променљиве и параметри функција
Подударање имена са параметрима
Параметри-објекти
Типови функција
Изворни код функције и резултат
Функција као променљива
Упис функције у другу променљиву
Додељивање функција у променљиве
Поклапање имена функције и променљиве
Типови декларација
Разлика декларација функције
Тачка зарез при декларисању функција
Нијансе функционалних израза
Функција са именом, али Function Expression
Именовани функционални изрази
Како проверити тип функције
Израз лево
Израз десно
Низ са функцијама
Објекат са функцијама
Примена објекта са функцијама
Угњеждене функције
Прослеђивање функција као параметара
Именоване функције
Параметри прослеђених функција
Прослеђивање броја као параметра
Примена
Унутрашње функције
Опсег видљивости угњеждених функција
Параметри спољашње функције
Параметри спољашње и унутрашње функције
Параметри са истим именом
Функција која враћа функцију
Било који ниво угнежђења
Параметри функције која се враћа
Функције-колбекови
Нијансе колбека
Стреличасте функције
Примена стреличастих функција
синх. с переводом
Затварања (Closures)
Приступ спољним променљивим
Лексичко окружење функција
Примена лексичког окружења
Увод у затварања
Бројач на затварањима
Нијанса: локална променљива
Нијанса: глобална променљива
IIFE
Позив функције на месту
Додељивање функције у променљиву
Примена позива функције на месту
Заграде
Параметри
Вишеструки позиви
Замке
Тачка зарез за безбедност
Затварања и IIFE
Рекурзија
Увод
Пример са параметром
Сума елемената низа при рекурзији
Вишедимензионе структуре
Сума елемената низа
Манипулације са структурама
Методе за итерацију
Метод map
Метод forEach
Метод filter
Метод every
Метод some
Метод find
превод, задаци
Метод reduce
превод, задаци
Оператор spread
Увод
Сложнији примери
Екстремне вредности низа
Спајање низова
Раздвајање стрингова
Раздвајање бројева
Оператор rest
Деструктурисање
Деструктурисање низова
Низ из функције
Прескакање елемената низа
Вишак вредности низа
Остатак низа
Подразумеване вредности за низове
Функције по умолчању за низове
Декларација променљивих за низове
Деструктурисање објеката
Имена променљивих за објекте
Подразумеване вредности за објекте
Променљиве и подразумеване вредности за објекте
Декларација променљивих за објекте
Параметри функција
Деструктурисање oбјеката параметара функција
Време
Рад са објектом Date
Форматирање
Промена формата датума
Добијање дана у недељи
Испис датума речима
Постављање времена
Формат timestamp
Разлика између timestamp-ова
Разлика објеката са датумима
Аутоматска корекција датума
Проналажење последњег дана месеца
Одређивање преступне године
Провера коректности
Добијање дана текуће године
Дан следећег или претходног месеца
Дан следећег или претходне године
Разлика тренутака
Тренутак времена дана
Почетак дана
Крај дана
Циклична провера тренутака времена
Практика на добијање тренутака времена
Стринговско поређење
Поређење датума без године
Упад датума у интервал
Поређење објеката са датумом
Увод у DOM
Увод
DOM елементи
Добијање DOM елемената
Комплексни селектори DOM елемента
Везивање руковаоца догађајима
Именовани руковаоци
Један руковалац за више елемената
Руковаоци истог догађаја
Руковаоци различитих догађаја
Текст елемента
HTML код елемента
Атрибути тагова као својства
Рад са текст пољима
Фокус текст поља
Атрибути-изузеци
Ланци метода и својстава
Предности и недостаци ланаца
Објекат this
Предност this
Добијање групе елемената
Именовани руковаоци у петљи
Анонимни руковаоци у петљи
Одвезивање руковаоца догађаја
Одвезивање руковаоца у петљи
Одвезивање анонимних руковаоца
Савети за писање кода
Практикум на проналажење грешака
Практикум
Атрибути
Метод за добијање атрибута
Метод за постављање атрибута
Метод за уклањање атрибута
Метод за проверу атрибута
Кориснички атрибути
Имена атрибута са цртицом
Приступ атрибутима преко метода
Масив CSS класа
Додавање CSS класа
Уклањање CSS класа
Провера CSS класа
Тоглинг CSS класа
Стилизација
Стилизација преко атрибута style
Стилизација својстава са цртицом
Изузетак приликом стилизације елемената
Стилизација преко CSS класа
Предност стилизације помоћу CSS класа
Примена стилизације
Претрага
Проналажење потомака елемената
Проналажење родитеља елемената
Претрага свих родитеља елемената
Претрага суседних елемената
Претрага елемента по id-у
Претрага елемента по имену тага
Претрага елемента по имену класе
Претрага унутар елемента
Чворови
Форме
Рад са textarea
Блокирање елемената
Рад са чекбоксима
Наизменично коришћење атрибута без вредности
Рад са радио-дугмадима
Догађај change
Догађај input
Методи focus и blur
Практиковање проналажења грешака
Падајући списак
Рад са падајућим списковима
Атрибут value у падајућим списковима
Промена изабраног елемента списка
Број изабраног елемента списка
Добијање елемената падајућег списка
Елементи као низ
Рад са елементима падајућег списка
Избор елемента списка
Добијање изабраног елемента
Објект Event
Основе рада са објектом Event
Координате догађаја
Тип догађаја
Елемент догађаја
Добијање притиснутих тастера
Праћење тастера-модификатора
Отказивање подразумеване радње
Испливавање догађаја
Циљни елемент при испливавању
Прекидање испливавања догађаја
Више руковаоца на елементу
Незауставно прекидање испливавања
Примена прекидања испливавања догађаја
Потопавање догађаја
Руковаоци на новим елементима
Делегирање догађаја
Универзално делегирање догађаја
Контекст
Основе рада са контекстом
Контекст непривязане функције
Губљење контекста
Решавање проблема са контекстом
Решење преко променљиве
Решење преко параметра
Решење преко стреличасте функције
Метод call
Метод call са параметрима
Метод apply
Метод bind
Тajмери
Покретање тајмера
Бројач на тајмеру
Заустављање тајмера
Дугмад за покретање
Вишеструко покретање
Дугмад за заустављање
Рад са DOM-ом
Тајмери и губитак контекста
Пракса на тајмере и DOM
Кашњење пре извршавања
Тајмер преко кашњења
Манипулисање елементима
Креирање и убацивање елемената
Додавање догађаја при убацивању
Креирање елемената у петљи
Додавање руковаоца у петљи
Уклањање елемената
Убацивање са ивице
Убацивање испред
Суседно убацивање
Суседно убацивање тагова
Клонирање елемената
Провера елемената
Практика
Креирање елемената из низа
Практика на креирање листи ul
Креирање табела
Секвенцијално попуњавање табела
Креирање табеле из низа
Креирање табеле из низа објеката
Додавање редова и колона у табелу
Модификација ћелија табеле
Брисање нових елемената
Линк за брисање елемента
Креирање линкова за брисање
Уређивање појединачног елемента
Сакривамо текст при уређивању
Уређивање у скупу елемената
Брисање и уређивање
Стилизација елемената
Дугмићи за сакривање и приказ елемента
Много елемената са дугмићима за приказ
Активација елемената
Наизменичност стилова активације
Практика на мењање елемената
Функције и DOM
Функције за рад са DOM елементом
Функције за рад са групом елемената
Прослеђивање колбека за рад са DOM
Прослеђивање редног броја у колбек
Прослеђивање елемента параметром функције
Прослеђивање групе елемената параметрима
Функција за креирање HTML табела
Враћање табеле из функције
Функција за креирање табеле из низа