Асноўны падручнік JavaScript
Асновы
Увядзенне
Запуск JavaScript
Першая праграма на JavaScript
Разбор кода праграмы
Далейшыя прыклады
Файлы са скрыптамі
Некалькі файлаў
Заўвага
Кэшаванне файлаў
Строгі рэжым
Каментары
Зменныя
Выкарыстанне зменных
Аб'яўленне некалькіх зменных
Змяненні значэнняў зменных
Некалькі let для адной зменнай
Матэматычныя аперацыі з лікамі
Матэматычныя аперацыі з зменнымі
Прыярытэт матэматычных аперацый
Роўны прыярытэт
Групавальныя дужкі
Дробі
Адмоўныя лікі
Плюс перад зменнымі
Астатак ад дзялення
Узвядзенне ў ступень
Прыярытэт узвядзення ў ступень
Радкі
Складанне радкоў
Даўжыня радка
Шаблонныя радкі
Шматрадковасць
Спецыяльныя значэнні
Значэнне undefined
Значэнне null
Значэнні tbye і 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
Паступовы выклік функцый
Toнкае месца return
Цыкл і return
Прымяненне return у цыклах
Прыём работы з return
Сцягі ў функцыях
Лагічныя аператары ў функцыях
Парады па функцыях
Практыка на пошук памылак
Практыка на функцыі
Зменныя функцый
Глабальныя зменныя
Лакальныя зменныя
Супадзенне імёнаў зменных
Змяненне глабальных зменных
Глабальныя зменныя і параметры функцый
Супадзенне імёнаў з параметрамі
Параметры-аб'екты
Тыпы функцый
Зыходны код функцыі і вынік
Функцыя як зменная
Запіс функцыі ў іншую зменную
Прысвойванне функцый у зменныя
Супадзенне імя функцыі і зменнай
Тыпы аб'яўленняў
Розніца аб'яўленняў функцыі
Кропка з коскай пры аб'яўленні функцый
Нюансы функцыянальных выразаў
Функцыя з імем, але Functional Expression
Іменаваныя функцыянальныя выразы
Як праверыць тып функцыі
Выраз злева
Выраз справа
Масіў з функцыямі
Аб'ект з функцыямі
Прымяненне аб'екта з функцыямі
Укладзеныя функцыі
Перадача функцый параметрамі
Іменаваныя функцыі
Параметры якія перадаюцца функцый
Перадача ліку параметрам
Прымяненне
Унутраныя функцыі
Вобласць бачнасці ўкладзеных функцый
Параметры вонкавай функцыі
Параметры вонкавай і ўнутранай функцый
Аднайменныя параметры
Функцыя, якая вяртае функцыю
Любы ўзровень укладзенасці
Параметры якая вяртаецца функцыі
Зваротныя функцыі
Нюансы зваротных функцый
Стрэлачныя функцыі
Прымяненне стрэлачных функцый
сінх. з перакладам
Замыканні
Доступ да вонкавых зменных
Лексічнае асяроддзе функцый
Прымяненне лексічнага асяроддзя
Увядзенне ў замыканні
Лічыльнік на замыканнях
Нюанс лакальная зменная
Нюанс глабальная зменная
IIFE
Выклік функцыі на месцы
Прысвойванне функцыі ў зменную
Прымяненне выкліку функцыі на месцы
Круглыя дужкі
Параметры
Шматразовыя выклікі
Падводныя камні
Кропка з коскай для бяспекі
Замыканні і IIFE
Рэкурсія
Увядзенне
Прыклад з параметрам
Сума элементаў масіву пры рэкурсіі
Шматмерныя структуры
Сума элементаў масіву
Маніпуляцыі са структурамі
Перабіральныя метады
Метад map
Метад forEach
Метад filter
Метад every
Метад some
Метад find
пераклад, задачы
Метад reduce
пераклад, задачы
Аператар spread
Увядзенне
Больш складаныя прыклады
Экстрэмальныя значэнні масіву
Аб'яднанне масіваў
Разбіццё радкоў
Разбіццё лікаў
Аператар rest
Дэструктурызацыя
Дэструктурызацыя масіваў
Масіў з функцыі
Прапушчанне элементаў масіву
Лішнія значэнні масіву
Астатак масіву
Значэнні па змаўчанні для масіваў
Функцыі па змаўчанні для масіваў
Аб'яўленне зменных для масіваў
Дэструктурызацыя аб'ектаў
Імёны зменных для аб'ектаў
Значэнні па змаўчанні для аб'ектаў
Зменныя і значэнні па змаўчанні для аб'ектаў
Аб'яўленне зменных для аб'ектаў
Параметры функцый
Дэструктурызацыя аб'ектаў параметраў функцый
Час
Работа з аб'ектам 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
Таймеры
Запуск таймера
Лічыльнік на таймеры
Спыненне таймера
Кнопкі для запуску
Шматразовы запуск
Кнопкі для спынення
Работа з DOM
Таймеры і страта кантэксту
Практыка на таймеры і DOM
Затрымка перад выкананнем
Таймер праз затрымку
Маніпуляванне элементамі
Стварэнне і ўстаўка элементаў
Навяшчанне падзей пры ўстаўцы
Стварэнне элементаў у цыкле
Навяшчанне апрацоўшчыкаў у цыкле
Выдаленне элементаў
Устаўка з краю
Устаўка перад
Сумяжная ўстаўка
Сумяжная ўстаўка тэгаў
Кланаванне элементаў
Праверка элементаў
Практыка
Стварэнне элементаў з масіву
Практыка на стварэнне спісаў ul
Стварэнне табліц
Паступовае запаўненне табліц
Стварэнне табліцы з масіву
Стварэнне табліцы з масіву аб'ектаў
Даданне шэрагаў і калонак у табліцу
Змяненне ячаек табліцы
Выдаленне новых элементаў
Спасылка на выдаленне элемента
Стварэнне спасылак на выдаленне
Рэдагаванне асобнага элемента
Хаваем тэкст пры рэдагаванні
Рэдагаванне ў наборы элементаў
Выдаленне і рэдагаванне
Стылізацыя элементаў
Кнопкі для схавання і паказу элемента
Шмат элементаў з кнопкамі паказу
Актывацыя элементаў
Чаргаванне стыляў актывацыі
Практыка на змяненне элементаў
Функцыі і DOM
Функцыі для работы з DOM элементам
Функцыі для работы з групай элементаў
Перадача зваротнай функцыі для работы з DOM
Перадача парадкавага нумара ў зваротную функцыю
Перадача элемента параметрам функцыі
Перадача групы элементаў параметрамі
Функцыя для стварэння HTML табліц
Вяртанне табліцы з функцыі
Функцыя для стварэння табліцы з масіву