Асноўны падручнік 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

Аператар 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 табліц Вяртанне табліцы з функцыі Функцыя для стварэння табліцы з масіву

Модулі праз замыканні

Канфлікты зменных Модулі праз замыканні Практычнае прымяненне Перадача параметраў Перадача бацькоўскага элемента Перадача налад модуля Параметры па змаўчанні Экспарт зменных і функцый Экспарт аб'екта ў модулях праз замыканні Бібліятэкі праз замыканні
pluzit