aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/index.html
blob: 3b6b10c59e1c1cd41a029d5b28642fc214c20468 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
---
title: JavaScript
slug: Web/JavaScript
tags:
  - Infrastructure
  - Interface
  - Intermediate
  - Internationalization
  - Intro
  - JavaScript
  - Learn
  - 'l10n:exclude'
  - 'l10n:priority'
  - Все_категории
translation_of: Web/JavaScript
---
<div>{{JsSidebar()}}</div>

<div class="summary">
<p><strong>JavaScript</strong><sup>®</sup> (часто просто <strong>JS</strong>) — это легковесный, интерпретируемый или JIT-компилируемый, объектно-ориентированный язык с {{Glossary("First-class_Function", "функциями первого класса")}}. Наиболее широкое применение находит как язык сценариев веб-страниц, но также <a href="http://en.wikipedia.org/wiki/JavaScript#Uses_outside_web_pages">используется и в других программных продуктах</a>, например, <a href="http://nodejs.org" title="http://nodejs.org">node.js</a> или <a href="http://couchdb.apache.org">Apache CouchDB</a>. JavaScript это {{Glossary("Prototype-based_programming", "прототипно-ориентированный")}}, мультипарадигменный язык с динамической типизацией, который поддерживает объектно-ориентированный, императивный и декларативный (например, функциональное программирование) стили программирования. Подробнее <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/%D0%9E_JavaScript">о JavaScript</a>.</p>
</div>

<p>Эта часть сайта посвящена самому языку JavaScript, и она не затрагивает тонкостей, связанных с веб-страницами или окружением, в котором исполняется JavaScript. Информация об {{Glossary("API")}}, относящихся к веб-страницам, находится в разделах, посвящённых <a href="/ru/docs/Web/API">Веб-API</a> и <a href="/ru/docs/DOM">DOM</a>.</p>

<p>Стандартом языка JavaScript является <a href="https://developer.mozilla.org/ru/docs/JavaScript/Language_Resources" title="ECMAScript">ECMAScript</a>. По состоянию на 2012, все современные браузеры полностью поддерживают ECMAScript 5.1. Старые версии браузеров поддерживают по крайней мере - ECMAScript 3. 17 июня 2015 года состоялся выпуск шестой версии ECMAScript. Эта версия официально называется ECMAScript 2015, которую чаще всего называют ECMAScript 2015 или просто ES2015. С недавнего времени стандарты ECMAScript выпускаются ежегодно. Эта документация относится к последней версии черновика, которой является <a href="http://tc39.github.io/ecma262/">ECMAScript 2018</a>.</p>

<p>Не следует путать JavaScript c <a href="https://ru.wikipedia.org/wiki/Java">языком программирования Java</a>. И "Java", и "JavaScript" являются торговыми марками или зарегистрированными торговыми марками Oracle в США и других странах. Однако, у обоих языков различный синтаксис, семантика и применение.</p>

<div class="column-container">
<div class="column-half">
<h2 class="Documentation" id="Учебные_материалы">Учебные материалы</h2>

<p>Научитесь программировать на JavaScript вместе с нашим руководством.</p>

<h3 id="Для_абсолютных_новичков">Для абсолютных новичков</h3>

<p>Загляните в наш <a href="/ru/docs/Learn/JavaScript">Учебный План,</a> если вам хочется изучить JavaScript, но у вас нет опыта в JavaScript или программировании.  Доступные разделы: </p>

<dl>
 <dt><a href="/ru/docs/Web/JavaScript/Guide">Первые шаги в JavaScript</a></dt>
 <dd>Отвечаем на такие вопросы, как "что такое JavaScript?", "как он выглядит?", "и что он может делать?", а также обсуждаем основные возможности JavaScript, такие, как переменные, строки, числа и массивы.</dd>
 <dt><a href="/ru/docs/Learn/JavaScript/Building_blocks">Структурные элементы JavaScript</a></dt>
 <dd>Продолжаем наше изучение главных возможностей JavaScript, обращаем наше внимание на самые часто встречающиеся блоки кода, такие, как условные выражения, циклы, функции и события.</dd>
 <dt></dt>
 <dt><a href="https://developer.mozilla.org/ru/docs/Learn/JavaScript/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D1%8B">Введение в объекты JavaScript</a></dt>
 <dd>Объектно-ориентированная природа JavaScript важна для понимания, если вы хотите углубить знание языка и писать более эффективный код. Поэтому мы подготовили модуль, который поможет вам в этом.</dd>
 <dt><a href="/ru/docs/Learn/JavaScript/Asynchronous">Асинхронный JavaScript</a></dt>
 <dd>Обсуждение асинхронного JavaScript: почему это так важно, как эта возможность языка может использована для обработки потенциальных блокирующих операций, как, например получение данных с сервера.</dd>
 <dt><a href="https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs">Клиентские (браузерные) веб-API</a></dt>
 <dd>Когда вы пишите клиент веб-сайтов или приложений на JavaScript, вы не далеко уйдёте без использования API – интерфейсов для взаимодействия с браузером и операционной системой, на которой запущен сайт, или даже для операций с данными, полученными от других веб-сайтов и сервисов. В этом цикле статей мы разбираемся, что такое API и как использовать некоторые самые распространённые API, которые вам встретятся при разработке.</dd>
</dl>

<h3 id="Руководство_по_JavaScript">Руководство по JavaScript</h3>

<dl>
 <dt><a href="/ru/docs/Web/JavaScript/Guide">Руководство по JavaScript</a></dt>
 <dd>Более подробное руководство по языку программирования JavaScript, нацеленное на тех, кто уже имеет опыт программирования на JavaScript или на любом другом языке.</dd>
</dl>

<h3 id="Средний_уровень">Средний уровень</h3>

<dl>
 <dt><a href="/ru/docs/Learn/Tools_and_testing/Фронтенд_JavaScript_ффреймворки">Понимание JavaScript-фреймворков для фронтенда</a></dt>
 <dd>
 <div>JavaScript-ф<span>фреймворки </span>являются неотъемлемой частью современной веб-разработки,</div>

 <div>предоставляя разработчикам проверенные и протестированные</div>

 <div>инструменты для создания масштабируемых и интерактивных веб-приложений. Многие</div>

 <div>современные компании используют фреймворки для своих решений, поэтому многие задачи связанные с разработкой клиентской части веб-приложений теперь требуют опыта работы с ними.</div>
 </dd>
 <dt><a href="/ru/docs/Web/JavaScript/A_re-introduction_to_JavaScript">Повторное введение в JavaScript</a></dt>
 <dd>Обзор для тех, кто <em>думает</em>, что знает JavaScript.</dd>
 <dt><a href="/ru/docs/Web/JavaScript/Data_structures">Структуры данных JavaScript</a></dt>
 <dd>Обзор существующих структур данных в JavaScript.</dd>
 <dt><a href="/ru/docs/Web/JavaScript/Equality_comparisons_and_sameness">Операторы сравнения и тождественности</a></dt>
 <dd>JavaScript предоставляет три различных оператора сравнения значений: строгое равенство <code>===</code>, с приведением типов <code>==</code> и метод {{jsxref("Global_Objects/Object/is", "Object.is()")}}.</dd>
 <dt><a href="/ru/docs/Web/JavaScript/Closures">Замыкания</a></dt>
 <dd>Замыкания это сочетание функции и лексического окружения в котором она была определена.</dd>
</dl>

<h3 id="Продвинутый_уровень">Продвинутый уровень</h3>

<dl>
 <dt><a href="/ru/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain">Наследование и цепочка прототипов</a></dt>
 <dd>Статья разъясняет бытующие заблуждения и недооцененность наследования, основанного на прототипах.</dd>
 <dt><a href="/ru/docs/Web/JavaScript/Reference/Strict_mode">Строгий режим — "use strict"</a></dt>
 <dd>Строгий режим говорит о том, что вы не можете использовать какую-либо переменную до её объявления. Это ограниченный вариант ECMAScript 5, для более быстрой производительности и простой отладки.</dd>
 <dt><a href="/ru/docs/Web/JavaScript/Typed_arrays">Типизированные массивы</a></dt>
 <dd>Типизированные массивы предоставляют механизм для работы с необработанными двоичными данными в JavaScript.</dd>
 <dt><a href="/ru/docs/Web/JavaScript/Memory_Management">Управление памятью</a></dt>
 <dd>Жизненный цикл памяти и сборка мусора в JavaScript.</dd>
 <dt><a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/EventLoop">Модель параллелизма (мультипоточности) и цикл событий</a></dt>
 <dd>В JavaScript есть модель параллелизма, основанная на "цикле событий".</dd>
 <dt><a href="/ru/docs/Web/JavaScript/Introduction_to_using_XPath_in_JavaScript">Введение в использование XPath в JavaScript</a></dt>
 <dd>Этот документ описывает интерфейс для использования <a href="https://developer.mozilla.org/en-US/docs/XPath" title="en/XPath">XPath</a> в JavaScript на прямую, внутри расширений и на веб-сайтах.</dd>
</dl>
</div>

<div class="column-half">
<h2 class="Tools" id="Справочник">Справочник</h2>

<p>Подробный <a href="/ru/docs/Web/JavaScript/Reference">справочник</a> по JavaScript.</p>

<dl>
 <dt><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects">Стандартные встроенные объекты</a></dt>
 <dd>Узнайте о стандартных встроенных объектах {{jsxref("Array")}}, {{jsxref("Boolean")}}, {{jsxref("Date")}}, {{jsxref("Error")}}, {{jsxref("Function")}}, {{jsxref("JSON")}}, {{jsxref("Math")}}, {{jsxref("Number")}}, {{jsxref("Object")}}, {{jsxref("RegExp")}}, {{jsxref("String")}}, {{jsxref("Map")}}, {{jsxref("Set")}}, {{jsxref("WeakMap")}} , {{jsxref("WeakSet")}} и других.</dd>
 <dt><a href="/ru/docs/Web/JavaScript/Reference/Operators">Выражения и операторы</a></dt>
 <dd>Узнайте о поведении таких операторов в JavaScript, как {{jsxref("Operators/instanceof", "instanceof")}}, {{jsxref("Operators/typeof", "typeof")}}, {{jsxref("Operators/new", "new")}}, {{jsxref("Operators/this", "this")}}, <a href="/ru/docs/Web/JavaScript/Reference/Operators/Operator_Precedence">приоритете операторов</a> и многом другом.</dd>
 <dt><a href="/ru/docs/Web/JavaScript/Reference/Statements">Инструкции и объявления</a></dt>
 <dd>Узнайте о {{jsxref("Statements/do...while", "do-while")}}, {{jsxref("Statements/for...in", "for-in")}}, {{jsxref("Statements/for...of", "for-of")}}, {{jsxref("Statements/try...catch", "try-catch")}}, {{jsxref("Statements/let", "let")}}, {{jsxref("Statements/var", "var")}}, {{jsxref("Statements/const", "const")}}, {{jsxref("Statements/if...else", "if-else")}}, {{jsxref("Statements/switch", "switch")}} и многих других выражениях и ключевых словах в JavaScript.</dd>
 <dt><a href="/ru/docs/Web/JavaScript/Reference/Functions">Функции</a></dt>
 <dd>Узнайте, как работать с функциями в JavaScript, чтобы разрабатывать свои приложения.</dd>
</dl>

<h2 class="Tools" id="Инструменты_и_дополнительные_ресурсы">Инструменты и дополнительные ресурсы</h2>

<p>Полезные инструменты для написания и отладки вашего <strong>JavaScript </strong>кода.</p>

<dl>
 <dt><a href="/ru/docs/Tools">Инструменты разработчика Firefox</a></dt>
 <dd><a href="/ru/docs/Tools/Черновик">Простой редактор JavaScript</a>, <a href="/ru/docs/Tools/Web_Console">Веб-консоль</a>, <a href="/ru/docs/Tools/Profiler">JavaScript Профайлер</a>, <a href="/ru/docs/Tools/Debugger">Отладчик</a> и другие.</dd>
 <dt><a href="/ru/docs/Web/JavaScript/JavaScript_шеллы">JavaScript шеллы</a></dt>
 <dd>JavaScript шеллы позволяют быстро проверять фрагменты JavaScript кода.</dd>
 <dt><a href="https://togetherjs.com/">TogetherJS</a></dt>
 <dd>Объединение усилий стало проще. Добавляя TogetherJS на вашу веб-страницу, ваши пользователи могут помочь другу-другу в реальном времени!</dd>
 <dt><a href="http://stackoverflow.com/questions/tagged/javascript">Stack Overflow</a></dt>
 <dd>Вопросы по JavaScript на Stack Overflow.</dd>
 <dt><a href="/ru/docs/Web/JavaScript/New_in_JavaScript">Версии JavaScript и информация о релизах</a></dt>
 <dd>Просмотрите историю возможностей JavaScript и их статус.</dd>
 <dt><a href="https://jsfiddle.net/">JSFiddle</a></dt>
 <dd>Редактируйте JavaScript, CSS, HTML и получайте живые результаты. Используйте экспериментальные ресурсы и взаимодействуйте с вашей командой онлайн.</dd>
</dl>

<dl>
 <dt><a href="https://plnkr.co/">Plunker</a></dt>
 <dd>Plunker - это онлайн-сообщество для создания, обмена и совместной работы над идеями, касающимися веб-разработки. Редактируйте ваши JavaScript, CSS, HTML файлы, смотрите результат их выполнения и организуйте их в файловую структуру.</dd>
 <dt><a href="https://jsbin.com/">JSBin</a></dt>
 <dd>JS Bin это инструмент с открытым исходным кодом для отладки и совместной разработки.</dd>
 <dt><a href="https://codepen.io/">Codepen</a></dt>
 <dd>
 <p>Codepen ещё одна платформа для совместной веб-разработки, дающие результат в реальном-времени.</p>
 </dd>
 <dt><a href="https://stackblitz.com/">StackBlitz</a></dt>
 <dd>
 <p>StackBlitz - это "песочница"/инструмент отладки, где вы можете размещать полновесные приложения написанные на React, Angular, т др.</p>
 </dd>
</dl>
</div>
</div>