CINXE.COM

<!DOCTYPE html><html lang="ru" data-theme-enabled="1"><head><script>window.currentUser = null;</script><script>window.shopCurrency = "RUB";</script><script>window.localCurrency = "RUB";</script><script>window.countryCode = "cn";</script><script>window.rateShopTo = {"RUB":1,"EUR":0.01052086417375089,"USD":0.011649799659560235,"AMD":4.551007471179619};</script><title itemprop="name">Современный учебник JavaScript</title><link href="/pack/styles.dc2101d1217a23cfc4c9.css" rel="stylesheet"><meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes, minimum-scale=1.0"><meta name="apple-mobile-web-app-capable" content="yes"><!-- chrome autotranslate is enabled only for "en" main version--><meta name="google" content="notranslate"><script>if (window.devicePixelRatio > 1) document.cookie = 'pixelRatio=' + window.devicePixelRatio + ';path=/;expires=Tue, 19 Jan 2038 03:14:07 GMT';</script><link href="//fonts.googleapis.com/css?family=Open+Sans:bold,italic,bolditalic" rel="stylesheet"><link rel="apple-touch-icon-precomposed" href="/img/favicon/apple-touch-icon-precomposed.png"><link rel="canonical" href="https://learn.javascript.ru/"><meta name="msapplication-TileColor" content="#222A2C"><meta name="msapplication-TileImage" content="/img/favicon/tileicon.png"><link rel="icon" href="/img/favicon/favicon.png"><meta itemprop="image" content="https://learn.javascript.ru/img/site_preview_ru_512x512.png"><meta property="og:title" content="Современный учебник JavaScript"><meta property="og:image" content="https://learn.javascript.ru/img/site_preview_ru_1200x630.png"><meta property="og:image:type" content="image/png"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="fb:admins" content="100001562528165"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="Современный учебник JavaScript"><meta name="twitter:site" content="@iliakan"><meta name="twitter:creator" content="@iliakan"><meta name="twitter:image" content="https://learn.javascript.ru/img/site_preview_ru_512x512.png"><meta name="google-adsense-account" content="ca-pub-6204518652652613"><script data-collect-dnt="true" async src="https://scripts.simpleanalyticscdn.com/latest.js"></script><script>window.GA_ID = "UA-2056213-16";</script><script>window.GTM_ID = 'GTM-WD2DZPG'</script><script>window.YANDEX_METRIKA_ID = 17649010;</script><script>{function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-2LWB61WGYJ")}</script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-2LWB61WGYJ"></script><script>window.metrika={reachGoal:function(){}},window.yandex_metrika_callbacks=[function(){try{window.metrika=new Ya.Metrika({id:YANDEX_METRIKA_ID,webvisor:!0,clickmap:!0,params:{user:window.currentUser&&window.currentUser.id}}),metrika.trackLinks({delay:150}),window.addEventListener("error",function(r){window.metrika.reachGoal("JSERROR",{src:(r.filename||r.errorUrl)+": "+(r.lineno||r.errorLine),stack:r.stack||r.error&&r.error.stack,message:r.message})})}catch(r){}}];</script><script src="//mc.yandex.ru/metrika/watch.js" async></script><script>window.RECAPTCHA_ID = "6LfmLAEVAAAAAJMykMnf7aY8nkyTRmYi2ynx51R1";</script><script src="/pack/init.6309580de50b16beb5d4.js"></script><script src="/pack/head.fe2141234fb27f25b67e.js" defer></script><script src="/pack/tutorial.6d9279a4fd09c8c91349.js" defer></script><script src="/pack/frontpage.fff2bc9ad74a8bea1539.js" defer></script><link href="/pack/frontpage.334742fced5999da25f0.css" rel="stylesheet"><meta name="description" content="Современный учебник JavaScript, начиная с основ, включающий в себя много тонкостей и фишек JavaScript/DOM."><script src="/pack/footer.7f619589a73560c0bc2e.js" defer></script></head><body class="no-icons"><script>window.fontTest();</script><div class="page-wrapper"><!--[if IE]><div style="color:red;text-align:center">Извините, Internet Explorer не поддерживается, пожалуйста используйте более новый браузер.</div><![endif]--><div class="sitetoolbar"><div class="sitetoolbar__content"><div class="sitetoolbar__lang-switcher"><button class="sitetoolbar__dropdown-button" data-dropdown-toggler>RU</button><div class="sitetoolbar__dropdown-wrap"><div class="sitetoolbar__dropdown-body"><div class="sitetoolbar__lang-switcher-body"><div class="supported-langs supported-langs_toolbar"><div class="supported-langs__container"><ul class="supported-langs__list" style="height:200px"><li class="supported-langs__item"><a class="supported-langs__link" href="https://ar.javascript.info/"><span class="supported-langs__brief">AR</span><span class="supported-langs__title">عربي</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://javascript.info/"><span class="supported-langs__brief">EN</span><span class="supported-langs__title">English</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://es.javascript.info/"><span class="supported-langs__brief">ES</span><span class="supported-langs__title">Español</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://fa.javascript.info/"><span class="supported-langs__brief">FA</span><span class="supported-langs__title">فارسی</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://fr.javascript.info/"><span class="supported-langs__brief">FR</span><span class="supported-langs__title">Français</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://id.javascript.info/"><span class="supported-langs__brief">ID</span><span class="supported-langs__title">Indonesia</span></a></li></ul><ul class="supported-langs__list" style="height:200px"><li class="supported-langs__item"><a class="supported-langs__link" href="https://it.javascript.info/"><span class="supported-langs__brief">IT</span><span class="supported-langs__title">Italiano</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://ja.javascript.info/"><span class="supported-langs__brief">JA</span><span class="supported-langs__title">日本語</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://ko.javascript.info/"><span class="supported-langs__brief">KO</span><span class="supported-langs__title">한국어</span></a></li><li class="supported-langs__item supported-langs__item_current"><a class="supported-langs__link" href="https://learn.javascript.ru/"><span class="supported-langs__brief">RU</span><span class="supported-langs__title">Русский</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://tr.javascript.info/"><span class="supported-langs__brief">TR</span><span class="supported-langs__title">Türkçe</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://uk.javascript.info/"><span class="supported-langs__brief">UK</span><span class="supported-langs__title">Українська</span></a></li></ul><ul class="supported-langs__list" style="height:20px"><li class="supported-langs__item"><a class="supported-langs__link" href="https://zh.javascript.info/"><span class="supported-langs__brief">ZH</span><span class="supported-langs__title">简体中文</span></a></li></ul></div><div class="supported-langs__text">Мы хотим сделать этот проект с открытым исходным кодом доступным для людей во всем мире. Пожалуйста, <a href="https://javascript.info/translate#help" rel="noopener noreferrer" target="_blank">помогите нам перевести</a> это руководство на другие языки.</div></div></div></div></div></div><div class="sitetoolbar__logo-wrap"><a class="sitetoolbar__link sitetoolbar__link_logo" href="/"><img class="sitetoolbar__logo sitetoolbar__logo_normal" src="/img/sitetoolbar__logo_ru.svg" width="171" alt="" role="presentation"/><img class="sitetoolbar__logo sitetoolbar__logo_normal sitetoolbar__logo_dark" src="/img/sitetoolbar__logo_ru-white.svg" width="171" alt="" role="presentation"/><img class="sitetoolbar__logo sitetoolbar__logo_small" src="/img/sitetoolbar__logo_small_ru.svg" width="80" alt="" role="presentation"/><img class="sitetoolbar__logo sitetoolbar__logo_small sitetoolbar__logo_dark" src="/img/sitetoolbar__logo_small_ru-white.svg" width="80" alt="" role="presentation"/><script>Array.prototype.forEach.call(document.querySelectorAll("img.sitetoolbar__logo"),function(e){let t=document.createElement("object");t.type="image/svg+xml",t.className=e.className,t.style.cssText="left:0;top:0;position:absolute",t.onload=function(){t.onload=null,e.style.visibility="hidden"},t.data=e.src,e.parentNode.insertBefore(t,e)});</script></a></div><div class="sitetoolbar__nav-toggle-wrap"><button class="sitetoolbar__nav-toggle" type="button"></button></div><nav class="sitetoolbar__sections"><ul class="sitetoolbar__sections-list"><li class="sitetoolbar__section sitetoolbar__section_current"><a class="sitetoolbar__link" href="/">Учебник</a></li><li class="sitetoolbar__section"><a class="sitetoolbar__link" href="/courses">Курсы</a></li><li class="sitetoolbar__section"><a class="sitetoolbar__link" href="https://javascript.ru/forum/">Форум</a></li><li class="sitetoolbar__section"><a class="sitetoolbar__link" href="/quiz">Тесты знаний</a></li><li class="sitetoolbar__section sitetoolbar__section_dropdown"><button class="sitetoolbar__dropdown-button" data-dropdown-toggler>Скринкасты</button><div class="sitetoolbar__dropdown-wrap"><div class="sitetoolbar__dropdown-body"><ul class="sitetoolbar__dropdown-items"><li class="sitetoolbar__dropdown-item"><a class="sitetoolbar__secondary-link sitetoolbar__dropdown-link" href="/screencast/nodejs">Node.js</a></li><li class="sitetoolbar__dropdown-item"><a class="sitetoolbar__secondary-link sitetoolbar__dropdown-link" href="/screencast/webpack">Webpack</a></li><li class="sitetoolbar__dropdown-item"><a class="sitetoolbar__secondary-link sitetoolbar__dropdown-link" href="/screencast/gulp">Gulp</a></li><li class="sitetoolbar__dropdown-item"><a class="sitetoolbar__secondary-link sitetoolbar__dropdown-link" href="/screencast/react">React.js</a></li><li class="sitetoolbar__dropdown-item"><a class="sitetoolbar__secondary-link sitetoolbar__dropdown-link" href="/screencast/angular">Angular</a></li><li class="sitetoolbar__dropdown-item"><a class="sitetoolbar__secondary-link sitetoolbar__dropdown-link" href="https://youtu.be/W4hoc24K93E?list=PLDyvV36pndZFHXjXuwA_NywNrVQO0aQqb">Git: курс</a></li><li class="sitetoolbar__dropdown-item"><a class="sitetoolbar__secondary-link sitetoolbar__dropdown-link" href="https://youtu.be/lHacJuru1bc?list=PLDyvV36pndZEB7kWWocU4QSn-G78LoaEE">Git: разное</a></li></ul></div></div></li></ul></nav><div class="sitetoolbar__right-button-wrap"><a class="sitetoolbar-right-button sitetoolbar-right-button_courses" href="/ebook"><span class="sitetoolbar-right-button__extra-text">Купить</span><span class="sitetoolbar-right-button__text">EPUB/PDF</span></a></div><div class="sitetoolbar__login-wrap"><button class="sitetoolbar__login sitetoolbar__login_unready" data-action-login></button></div><div class="sitetoolbar__theme-switcher"><div class="theme-changer"><label class="theme-changer__label" for="theme-changer-input" data-tooltip="Сменить тему оформления"><input class="theme-changer__input" type="checkbox" id="theme-changer-input" data-theme-changer="data-theme-changer"/><span class="theme-changer__icon theme-changer__icon_light-theme"></span><span class="theme-changer__icon theme-changer__icon_dark-theme"></span></label></div></div><div class="sitetoolbar__search-wrap"><div class="sitetoolbar__search-content"><button class="sitetoolbar__search-toggle" type="button"></button><form class="sitetoolbar__search" method="GET" action="/search"><div class="sitetoolbar__search-input"><div class="text-input"><input class="text-input__control" name="query" placeholder="Искать на Javascript.ru" required="required" type="text"/></div><button class="sitetoolbar__find" type="submit">Найти</button></div></form></div></div></div><div class="tablet-menu"><div class="tablet-menu__line"><div class="tablet-menu__content"><select class="tablet-menu__nav input-select input-select input-select_small" onchange="if(this.value) window.location.href=this.value"><option value="/" selected>Учебник</option><option value="/courses">Курсы</option><option value="https://javascript.ru/forum/">Форум</option><option value="/quiz">Тесты знаний</option></select></div></div><div class="tablet-menu__line"><div class="tablet-menu__content"><form class="tablet-menu-search" action="/search/"><input class="tablet-menu-search__input" type="search" name="query" placeholder="Поиск в учебнике" required="required"/><button class="tablet-menu-search__button" type="submit" name="type" value="articles">Поиск</button></form></div></div><div class="tablet-menu__line"><div class="tablet-menu__content"><a class="map" href="/tutorial/map" data-action="tutorial-map"><span class="map__text">Карта учебника</span></a></div></div><div class="tablet-menu__line"><div class="tablet-menu__content"><div class="theme-changer theme-changer_tablet-menu theme-changer_has-label"><label class="theme-changer__label" for="theme-changer-input-tablet" data-tooltip="Сменить тему оформления"><input class="theme-changer__input" type="checkbox" id="theme-changer-input-tablet" data-theme-changer="data-theme-changer"/><span class="theme-changer__icon theme-changer__icon_light-theme"></span><span class="theme-changer__icon theme-changer__icon_dark-theme"></span><span class="theme-changer__label-text theme-changer__label-text_light-theme">Светлая тема</span><span class="theme-changer__label-text theme-changer__label-text_dark-theme">Тёмная тема</span></label></div></div></div><div class="tablet-menu__line"><div class="tablet-menu__content"><div class="share-icons"><span class="share-icons__title">Поделиться</span><a class="share share_tw" href="https://twitter.com/share?url=https%3A%2F%2Flearn.javascript.ru%2F" rel="nofollow"></a><a class="share share_fb" href="https://www.facebook.com/sharer/sharer.php?s=100&amp;p%5Burl%5D=https%3A%2F%2Flearn.javascript.ru%2F" rel="nofollow"></a><a class="share share_vk" href="https://vkontakte.ru/share.php?url=https%3A%2F%2Flearn.javascript.ru%2F" rel="nofollow"></a></div></div></div><div class="tablet-menu__line"><div class="tablet-menu__content"><select class="tablet-menu__nav input-select input-select input-select_small" onchange="if(this.value) window.location.href=this.value"><option value="https://ar.javascript.info/">عربي</option><option value="https://javascript.info/">English</option><option value="https://es.javascript.info/">Español</option><option value="https://fa.javascript.info/">فارسی</option><option value="https://fr.javascript.info/">Français</option><option value="https://id.javascript.info/">Indonesia</option><option value="https://it.javascript.info/">Italiano</option><option value="https://ja.javascript.info/">日本語</option><option value="https://ko.javascript.info/">한국어</option><option value="https://learn.javascript.ru/" selected>Русский</option><option value="https://tr.javascript.info/">Türkçe</option><option value="https://uk.javascript.info/">Українська</option><option value="https://zh.javascript.info/">简体中文</option></select></div></div></div></div><div class="page page_contains_header"><script>if(localStorage.noSidebar){document.querySelector(".page").classList.remove("page_sidebar_on");let e=document.querySelector(".page-wrapper");e&&e.classList.remove("page-wrapper_sidebar_on")}setTimeout(function(){document.querySelector(".page").classList.add("page_sidebar-animation-on")});</script><div class="frontpage-banner"><div class="frontpage-banner__inner"><div class="frontpage-banner__info"><div class="frontpage-banner__col"><h1 class="frontpage-banner__title">Современный учебник JavaScript</h1><p class="frontpage-banner__text frontpage-banner__text_lg">Перед вами учебник по JavaScript, начиная с основ, включающий в себя много тонкостей и фишек JavaScript/DOM.</p><form class="frontpage-search" action="/search/"><div class="text-input text-input_big"><input class="text-input__frontpage-search__input text-input__control" type="search" name="query" placeholder="Поиск по учебнику" required="required"/></div><button class="frontpage-search__button button button_action button_big" type="submit" name="type" value="article">Найти</button></form></div><div class="frontpage-banner__col"><div class="frontpage-banner__updated-at">Последнее обновление: April 9, 2025</div><div class="frontpage-banner__list"><a class="frontpage-banner__list-item" href="/ebook"><i class="frontpage-banner__buy-ebook"></i><span>Купить</span><span>EPUB/PDF</span></a><div class="frontpage-banner__list-item"><div class="frontpage-share"><span class="frontpage-share__title">Поделиться:</span><a class="frontpage-share__icon frontpage-share__icon_tw" href="https://twitter.com/share?url=https%3A%2F%2Flearn.javascript.ru%2F" rel="nofollow"></a><a class="frontpage-share__icon frontpage-share__icon_fb" href="https://www.facebook.com/sharer/sharer.php?s=100&amp;p%5Burl%5D=https%3A%2F%2Flearn.javascript.ru%2F" rel="nofolllow"></a><a class="icon icon_vk" href="https://vkontakte.ru/share.php?url=https%3A%2F%2Flearn.javascript.ru%2F" rel="nofollow"></a></div></div><a class="frontpage-banner__list-item github" href="https://github.com/javascript-tutorial/ru.javascript.info/tree/master"><span class="frontpage-banner__count">3914 ★</span><span class="frontpage-banner__text">github</span></a></div></div></div><div class="frontpage-banner__sub"><h2 class="frontpage-banner__subtitle">Содержание</h2><p class="frontpage-banner__text">Первые две части посвящены JavaScript и его использованию в браузере. Затем идут дополнительные циклы статей на разные темы.</p></div></div></div><div class="page__inner"><main class="main main_frontpage"><div class="content frontpage"><div class="frontpage-content"><div class="tabs"><nav class="tabs__menu"><div class="tabs__menu-inner"><div class="tabs__menu-inner-scroll"><a class="tabs__menu-button active" href="#tab-1"><span class="tabs__menu-button-title">Часть 1</span><span>Язык JavaScript</span></a><a class="tabs__menu-button" href="#tab-2"><span class="tabs__menu-button-title">Часть 2</span><span>Браузер: документ, события, интерфейсы</span></a><a class="tabs__menu-button" href="#tab-3"><span class="tabs__menu-button-title">Часть 3</span><span>Тематические разделы</span></a></div></div></nav><div class="tabs__content" id="tab-1"><section class="tabs__content-section"><div class="tabs__content-inner"><div><h2 class="frontpage-content__title">Язык JavaScript</h2><div class="frontpage-content__description"><p>Здесь вы можете изучить JavaScript, начиная с нуля и заканчивая продвинутыми концепциями вроде ООП.</p> <p>Мы сосредоточимся на самом языке, изредка добавляя заметки о средах его исполнения.</p> </div><div class="list"><div class="list__item"><div class="list__title"><a class="list__link" href="/getting-started">Введение</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/intro">Введение в JavaScript</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/manuals-specifications">Справочники и спецификации</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/code-editors">Редакторы кода</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/devtools">Консоль разработчика</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/first-steps">Основы JavaScript</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/hello-world">Привет, мир!</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/structure">Структура кода</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/strict-mode">Строгий режим — &quot;use strict&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/variables">Переменные</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/types">Типы данных</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/alert-prompt-confirm">Взаимодействие: alert, prompt, confirm</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/type-conversions">Преобразование типов</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/operators">Базовые операторы, математика</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/comparison">Операторы сравнения</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/ifelse">Условное ветвление: if, '?'</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/logical-operators">Логические операторы</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/nullish-operators">Операторы нулевого слияния и присваивания: '??', '??='</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/while-for">Циклы while и for</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/switch">Конструкция &quot;switch&quot;</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/function-basics">Функции</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/function-expressions">Function Expression</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/arrow-functions-basics">Стрелочные функции, основы</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/javascript-specials">Особенности JavaScript</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Далее…</a></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/code-quality">Качество кода</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/debugging-chrome">Отладка в браузере</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/coding-style">Советы по стилю кода</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/comments">Комментарии</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/ninja-code">Ниндзя-код</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/testing-mocha">Автоматическое тестирование c использованием фреймворка Mocha</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/polyfills">Полифилы</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/object-basics">Объекты: основы</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/object">Объекты</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/object-copy">Копирование объектов и ссылки</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/garbage-collection">Сборка мусора</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/object-methods">Методы объекта, &quot;this&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/constructor-new">Конструктор, оператор &quot;new&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/optional-chaining">Опциональная цепочка '?.'</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/symbol">Тип данных Symbol</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/object-toprimitive">Преобразование объектов в примитивы</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/data-types">Типы данных</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/primitives-methods">Методы примитивов</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/number">Числа</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/string">Строки</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/array">Массивы</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/array-methods">Методы массивов</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/iterable">Перебираемые объекты</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/map-set">Map и Set</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/weakmap-weakset">WeakMap и WeakSet</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/keys-values-entries">Object.keys, values, entries</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/destructuring-assignment">Деструктурирующее присваивание</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/date">Дата и время</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/json">Формат JSON, метод toJSON</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Далее…</a></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/advanced-functions">Продвинутая работа с функциями</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/recursion">Рекурсия и стек</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/rest-parameters-spread-operator">Остаточные параметры и оператор расширения</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/closure">Область видимости переменных, замыкание</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/var">Устаревшее ключевое слово &quot;var&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/global-object">Глобальный объект</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/function-object">Объект функции, NFE</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/new-function">Синтаксис &quot;new Function&quot;</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/settimeout-setinterval">Планирование: setTimeout и setInterval</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/call-apply-decorators">Декораторы и переадресация вызова, call/apply</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/bind">Привязка контекста к функции</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/arrow-functions">Повторяем стрелочные функции</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Далее…</a></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/object-properties">Свойства объекта, их конфигурация</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/property-descriptors">Флаги и дескрипторы свойств</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/property-accessors">Свойства - геттеры и сеттеры</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/prototypes">Прототипы, наследование</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/prototype-inheritance">Прототипное наследование</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/function-prototype">F.prototype</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/native-prototypes">Встроенные прототипы</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/prototype-methods">Методы прототипов, объекты без свойства __proto__</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/classes">Классы</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/class">Класс: базовый синтаксис</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/class-inheritance">Наследование классов</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/static-properties-methods">Статические свойства и методы</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/private-protected-properties-methods">Приватные и защищённые методы и свойства</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/extend-natives">Расширение встроенных классов</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/instanceof">Проверка класса: &quot;instanceof&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/mixins">Примеси</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/error-handling">Обработка ошибок</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/try-catch">Обработка ошибок, &quot;try..catch&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/custom-errors">Пользовательские ошибки, расширение Error</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/async">Промисы, async/await</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/callbacks">Введение: колбэки</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/promise-basics">Промисы</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/promise-chaining">Цепочка промисов</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/promise-error-handling">Промисы: обработка ошибок</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/promise-api">Promise API</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/promisify">Промисификация</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/microtask-queue">Микрозадачи</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/async-await">Async/await</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/generators-iterators">Генераторы, продвинутая итерация</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/generators">Генераторы</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/async-iterators-generators">Асинхронные итераторы и генераторы</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/modules">Модули</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/modules-intro">Модули, введение</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/import-export">Экспорт и импорт</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/modules-dynamic-imports">Динамические импорты</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/js-misc">Разное</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/proxy">Proxy и Reflect</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/eval">Eval: выполнение строки кода</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/currying-partials">Каррирование</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/reference-type">Ссылочный тип</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/bitwise-operators">Побитовые операторы</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/bigint">BigInt</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/unicode">Юникод, внутреннее устройство строк</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/intl">Intl: интернационализация в JavaScript</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/weakref-finalizationregistry">WeakRef и FinalizationRegistry</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Далее…</a></li></ul></div></div></div></div><section class="tabs__content-section tabs__content-section_colored tabs__content-section_courses"><div class="tabs__content-inner"><div class="courses-container"><h3 class="courses-grid-title">Онлайн-курсы</h3><div class="courses-grid-description"><p>Онлайн-курсы - это вебинары, которые ведёт преподаватель - опытный действующий разработчик. С теорией, практикой, ответами на вопросы, проектом и обратной связью по вашему коду ("code review").</p><p>Выберите курс ниже, чтобы узнать детали.</p></div><h4 class="courses-grid-subtitle">Основы веб-разработки</h4><div class="courses-grid courses-grid_3-col courses-grid_bottom-gap"><a class="course-list-item" href="/courses/jsbasic"><span class="course-list-item__content"><span class="course-list-item__grow"><span class="course-list-item__badge course-list-item__badge_course">курс для новичков</span></span><h3 class="course-list-item__title course-list-item__title_no-margin">JavaScript / DOM / Интерфейсы</h3></span><span class="course-list-item__icon"><object type="image/svg+xml" data="/courses/list/jsbasic.svg" alt="course-icon" width="48" height="48" data-use-theme></object></span></a><a class="course-list-item" href="/courses/js"><span class="course-list-item__content"><span class="course-list-item__grow"><span class="course-list-item__badge course-list-item__badge_course">курс для программистов</span></span><h3 class="course-list-item__title course-list-item__title_no-margin">JavaScript / DOM / Интерфейсы</h3></span><span class="course-list-item__icon"><object type="image/svg+xml" data="/courses/list/js.svg" alt="course-icon" width="48" height="48" data-use-theme></object></span></a><a class="course-list-item" href="/courses/htmlcss"><span class="course-list-item__content"><span class="course-list-item__grow"><span class="course-list-item__badge course-list-item__badge_course">курс</span></span><h3 class="course-list-item__title course-list-item__title_no-margin">Современная верстка</h3></span><span class="course-list-item__icon"><object type="image/svg+xml" data="/courses/list/htmlcss.svg" alt="course-icon" width="48" height="48" data-use-theme></object></span></a><a class="course-list-item" href="/courses/jspatterns"><span class="course-list-item__content"><span class="course-list-item__grow"><span class="course-list-item__badge course-list-item__badge_masterclass">интенсив</span></span><h3 class="course-list-item__title course-list-item__title_no-margin">Архитектура и паттерны</h3><span class="course-list-item__status"><span>New</span></span></span><span class="course-list-item__icon"><object type="image/svg+xml" data="/courses/list/jspatterns.svg" alt="course-icon" width="48" height="48" data-use-theme></object></span></a></div><h4 class="courses-grid-subtitle">Фреймворки, смежные технологии</h4><div class="courses-grid courses-grid_3-col courses-grid_bottom-gap"><a class="course-list-item" href="/courses/angular"><span class="course-list-item__content"><span class="course-list-item__grow"><span class="course-list-item__badge course-list-item__badge_course">курс</span></span><h3 class="course-list-item__title course-list-item__title_no-margin">Angular</h3></span><span class="course-list-item__icon"><object type="image/svg+xml" data="/courses/list/angular.svg" alt="course-icon" width="48" height="48" data-use-theme></object></span></a><a class="course-list-item" href="/courses/react"><span class="course-list-item__content"><span class="course-list-item__grow"><span class="course-list-item__badge course-list-item__badge_course">курс</span></span><h3 class="course-list-item__title course-list-item__title_no-margin">React</h3></span><span class="course-list-item__icon"><object type="image/svg+xml" data="/courses/list/react.svg" alt="course-icon" width="48" height="48" data-use-theme></object></span></a><a class="course-list-item" href="/courses/vue"><span class="course-list-item__content"><span class="course-list-item__grow"><span class="course-list-item__badge course-list-item__badge_course">курс</span></span><h3 class="course-list-item__title course-list-item__title_no-margin">Vue.js</h3></span><span class="course-list-item__icon"><object type="image/svg+xml" data="/courses/list/vue.svg" alt="course-icon" width="48" height="48" data-use-theme></object></span></a><a class="course-list-item" href="/courses/typescript"><span class="course-list-item__content"><span class="course-list-item__grow"><span class="course-list-item__badge course-list-item__badge_masterclass">интенсив</span></span><h3 class="course-list-item__title course-list-item__title_no-margin">TypeScript</h3></span><span class="course-list-item__icon"><object type="image/svg+xml" data="/courses/list/typescript.svg" alt="course-icon" width="48" height="48" data-use-theme></object></span></a><a class="course-list-item" href="/courses/angularpro"><span class="course-list-item__content"><span class="course-list-item__grow"><span class="course-list-item__badge course-list-item__badge_masterclass">интенсив</span></span><h3 class="course-list-item__title course-list-item__title_no-margin">Продвинутый Angular</h3></span><span class="course-list-item__icon"><object type="image/svg+xml" data="/courses/list/angularpro.svg" alt="course-icon" width="48" height="48" data-use-theme></object></span></a><a class="course-list-item" href="/courses/nodejs"><span class="course-list-item__content"><span class="course-list-item__grow"><span class="course-list-item__badge course-list-item__badge_course">курс</span></span><h3 class="course-list-item__title course-list-item__title_no-margin">Node.js</h3><span class="course-list-item__status"><span>New</span></span></span><span class="course-list-item__icon"><object type="image/svg+xml" data="/courses/list/nodejs.svg" alt="course-icon" width="48" height="48" data-use-theme></object></span></a></div></div></div></section></section></div><div class="tabs__content" id="tab-2"><section class="tabs__content-section tabs__content-section_no-shadow"><div class="tabs__content-inner"><div><h2 class="frontpage-content__title">Браузер: документ, события, интерфейсы</h2><div class="frontpage-content__description"><p>Изучаем работу со страницей – как получать элементы, манипулировать их размерами, динамически создавать интерфейсы и взаимодействовать с посетителем.</p> </div><div class="list"><div class="list__item"><div class="list__title"><a class="list__link" href="/document">Документ</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/browser-environment">Браузерное окружение, спецификации</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/dom-nodes">DOM-дерево</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/dom-navigation">Навигация по DOM-элементам</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/searching-elements-dom">Поиск: getElement*, querySelector*</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/basic-dom-node-properties">Свойства узлов: тип, тег и содержимое</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/dom-attributes-and-properties">Атрибуты и свойства</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/modifying-document">Изменение документа</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/styles-and-classes">Стили и классы</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/size-and-scroll">Размеры и прокрутка элементов</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/size-and-scroll-window">Размеры и прокрутка окна</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/coordinates">Координаты</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Далее…</a></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/events">Введение в события</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/introduction-browser-events">Введение в браузерные события</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/bubbling-and-capturing">Всплытие и погружение</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/event-delegation">Делегирование событий</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/default-browser-action">Действия браузера по умолчанию</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/dispatch-events">Генерация пользовательских событий</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/event-details">Интерфейсные события</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/mouse-events-basics">Основы событий мыши</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/mousemove-mouseover-mouseout-mouseenter-mouseleave">Движение мыши: mouseover/out, mouseenter/leave</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/mouse-drag-and-drop">Drag'n'Drop с событиями мыши</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/keyboard-events">Клавиатура: keydown и keyup</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/pointer-events">События указателя</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/onscroll">Прокрутка</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/forms-controls">Формы, элементы управления</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/form-elements">Свойства и методы формы</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/focus-blur">Фокусировка: focus/blur</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/events-change-input">События: change, input, cut, copy, paste</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/forms-submit">Отправка формы: событие и метод submit</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/loading">Загрузка документа и ресурсов</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/onload-ondomcontentloaded">Страница: DOMContentLoaded, load, beforeunload, unload</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/script-async-defer">Скрипты: async, defer</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/onload-onerror">Загрузка ресурсов: onload и onerror</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/ui-misc">Разное</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/mutation-observer">MutationObserver: наблюдатель за изменениями</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/selection-range">Selection и Range</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/event-loop">Событийный цикл: микрозадачи и макрозадачи</a></div></li></ul></div></div></div></div></section></div><div class="tabs__content" id="tab-3"><section class="tabs__content-section tabs__content-section_no-shadow"><div class="tabs__content-inner"><div><h2 class="frontpage-content__title">Тематические разделы</h2><div class="frontpage-content__description">Важные темы, читать которые можно в любом порядке.</div><div class="list"><div class="list__item"><div class="list__title"><a class="list__link" href="/frames-and-windows">Фреймы и окна</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/popup-windows">Открытие окон и методы window</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/cross-window-communication">Общение между окнами</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/clickjacking">Атака типа clickjacking</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/binary">Бинарные данные и файлы</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/arraybuffer-binary-arrays">ArrayBuffer, бинарные массивы</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/text-decoder">TextDecoder и TextEncoder</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/blob">Blob</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/file">File и FileReader</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/network">Сетевые запросы</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/fetch">Fetch</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/formdata">FormData</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/fetch-progress">Fetch: ход загрузки</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/fetch-abort">Fetch: прерывание запроса</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/fetch-crossorigin">Fetch: запросы на другие сайты</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/fetch-api">Fetch API</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/url">Объекты URL</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/xmlhttprequest">XMLHttpRequest</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/resume-upload">Возобновляемая загрузка файлов</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/long-polling">Длинные опросы</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/websocket">WebSocket</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/server-sent-events">Server Sent Events</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Далее…</a></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/data-storage">Хранение данных в браузере</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/cookie">Куки, document.cookie</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/localstorage">LocalStorage, sessionStorage</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/indexeddb">IndexedDB</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/animation">Анимация</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/bezier-curve">Кривые Безье</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/css-animations">CSS-анимации</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/js-animation">JavaScript-анимации</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/web-components">Веб-компоненты</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/webcomponents-intro">С орбитальной высоты</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/custom-elements">Пользовательские элементы (Custom Elements)</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/shadow-dom">Shadow DOM</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/template-element">Элемент &quot;template&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/slots-composition">Слоты теневого DOM, композиция</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/shadow-dom-style">Настройка стилей теневого DOM</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/shadow-dom-events">Теневой DOM и события</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/regular-expressions">Регулярные выражения</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-introduction">Введение: шаблоны и флаги</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-character-classes">Символьные классы</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-unicode">Юникод: флаг &quot;u&quot; и класс \p{...}</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-anchors">Якоря: начало строки ^ и конец $</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-multiline-mode">Многострочный режим якорей ^ $, флаг &quot;m&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-boundary">Граница слова: \b</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-escaping">Экранирование, специальные символы</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-character-sets-and-ranges">Наборы и диапазоны [...]</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-quantifiers">Квантификаторы +, *, ? и {n}</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-greedy-and-lazy">Жадные и ленивые квантификаторы</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-groups">Скобочные группы</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-backreferences">Обратные ссылки в шаблоне: \N и \k&lt;имя&gt;</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-alternation">Альтернация (или) |</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-lookahead-lookbehind">Опережающие и ретроспективные проверки</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-catastrophic-backtracking">Катастрофический возврат</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-sticky">Поиск на заданной позиции, флаг &quot;y&quot;</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-methods">Методы RegExp и String</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Далее…</a></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/css-for-js">CSS для JavaScript-разработчика</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/css-why">О чём пойдёт речь</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/css-units">Единицы измерения: px, em, rem и другие</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/display">Все значения свойства display</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/float">Свойство float</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/position">Свойство position</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/css-center">Центрирование горизонтальное и вертикальное</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/font-size-line-height">Свойства font-size и line-height</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/white-space">Свойство white-space</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/outline">Свойство outline</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/box-sizing">Свойство box-sizing</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/margin">Свойство margin</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/space-under-img">Лишнее место под IMG</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/overflow">Свойство overflow</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/height-percent">Особенности свойства height в %</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/css-selectors">Знаете ли вы селекторы?</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/css-sprite">CSS-спрайты</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/css-format">Правила форматирования CSS</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Далее…</a></li></ul></div></div></div></div></section></div></div><section class="frontpage-content__container frontpage-content__container_no-shadow"><div class="frontpage-content__inner"><div class="subscribe subscribe_fancy"><h3 class="subscribe__title">Следите за обновлениями javascript.ru</h3><div class="subscribe__greyed-text">Мы не рассылаем рекламу, все только по делу. Вы сами выбираете, что получать:</div><form class="subscribe__form" method="POST" action="/newsletter/subscribe" data-newsletter-subscribe-form><input type="hidden" name="_csrf"/><input type="hidden" name="replace" value="1"/><div class="subscribe__email-input"><div class="subscribe__newsletters"><div class="multiselect subscribe__multiselect"><div class="multiselect__active-button">Общие обновления</div><div class="multiselect__container"><select class="multiselect__select phone-only" name="slug" size="1" multiple><option value="advanced" selected>Общие обновления</option><option value="js">JavaScript/DOM/Интерфейсы для программистов</option><option value="jspatterns">Мастер-класс по архитектуре и паттернам</option><option value="jsarchitect">Интенсив по frontend-архитектуре</option><option value="jsbasic">Курс JavaScript/DOM/интерфейсы для новичков</option><option value="htmlcss">Курс по современной вёрстке</option><option value="nodejs">Курс по Node.JS</option><option value="angular">Курс по Angular</option><option value="angularpro">Интенсив по &quot;продвинутой&quot; разработке на Angular</option><option value="react">Курс по React.JS</option><option value="typescript">Интенсив по TypeScript</option><option value="reactnative">Разработка мобильных приложений с React Native</option><option value="vue">Курс по Vue.JS</option><option value="ai">Интенсив по использованию AI в разработке</option></select></div></div><div class="subscribe__input"><div class="text-input text-input_big text-input_plain"><input class="text-input__control" type="email" placeholder="ваш@email" name="email" required="required"/></div></div><div class="subscribe__button"><button class="button button_action button_big" type="submit"><span class="button__text">Подписаться</span></button></div></div></div></form><div class="subscribe__greyed-text subscribe__greyed-text_small">Подписываясь на рассылку, вы соглашаетесь с <a href="/terms" target="_blank">пользовательским соглашением</a>.</div></div></div></section></div><script type="application/ld+json">{ "@context": "http://schema.org", "@type": "WebSite", "url": "https://learn.javascript.ru/", "potentialAction": { "@type": "SearchAction", "target": "https://learn.javascript.ru/search?query={search_term_string}", "query-input": "required name=search_term_string" } }</script></div><div class="article-tablet-foot tablet-only"><div class="article-tablet-foot__layout"><div class="share-icons"><span class="share-icons__title">Поделиться</span><a class="share share_tw" href="https://twitter.com/share?url=https%3A%2F%2Flearn.javascript.ru%2F" rel="nofollow"></a><a class="share share_fb" href="https://www.facebook.com/sharer/sharer.php?s=100&amp;p%5Burl%5D=https%3A%2F%2Flearn.javascript.ru%2F" rel="nofollow"></a><a class="share share_vk" href="https://vkontakte.ru/share.php?url=https%3A%2F%2Flearn.javascript.ru%2F" rel="nofollow"></a></div><div class="article-tablet-foot__map"><a class="map" href="/tutorial/map" data-action="tutorial-map"><span class="map__text">Карта учебника</span></a></div></div></div><div class="comments formatted" id="comments"><div class="comments__header"><h2 class="comments__header-title"><a href="#comments" name="comments">Комментарии</a></h2><div class="comments__read-before"><span class="comments__read-before-link">перед тем как писать…</span><div class="comments__read-before-popup"><div class="comments__read-before-popup-i"><ul><li>Если вам кажется, что в статье что-то не так - вместо комментария напишите <a href="https://github.com/javascript-tutorial/ru.javascript.info/issues/new">на GitHub</a>.</li><li>Для одной строки кода используйте тег <code>&lt;code&gt;</code>, для нескольких строк кода&nbsp;&mdash; тег <code>&lt;pre&gt;</code>, если больше 10 строк&nbsp;&mdash; ссылку на песочницу (<a href='https://plnkr.co/edit/?p=preview'>plnkr</a>, <a href='http://jsbin.com'>JSBin</a>, <a href='http://codepen.io'>codepen</a>…)</li><li>Если что-то непонятно в статье&nbsp;&mdash; пишите, что именно и с какого места.</li></ul></div></div></div></div><div id="disqus_thread"></div><script>var disqus_config = function() { if (!this.page) this.page = {}; Object.assign(this.page, {"url":"https:\/\/learn.javascript.ru\/","identifier":"","title":"\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0443\u0447\u0435\u0431\u043d\u0438\u043a JavaScript"}); };</script><script>var disqus_shortname = "learnjavascriptru";</script><script>var disqus_enabled = true;</script></div></script></main></div></div></div><div class="page-footer"><ul class="page-footer__list"><li class="page-footer__item page-footer__item_copy">©&nbsp;2007—2025&nbsp; Илья Кантор</li><li class="page-footer__item page-footer__item_about"><a class="page-footer__link" href="/about">о проекте</a></li><li class="page-footer__item page-footer__item_contact"><a class="page-footer__link" href="/about#contact-us">связаться с нами</a></li><li class="page-footer__item page-footer__item_terms"><a class="page-footer__link" href="/terms">пользовательское соглашение</a></li><li class="page-footer__item page-footer__item_privacy"><a class="page-footer__link" href="/privacy">политика конфиденциальности</a></li></ul></div></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10