You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/1-intro/article.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
## Что такое JavaScript?
6
6
7
-
Изначально *JavaScript* был создан, чтобы *«сделать веб-страницы живыми»*.
7
+
Изначально *JavaScript* был создан, чтобы *"сделать веб-страницы живыми"*.
8
8
9
9
Программы на этом языке называются *скриптами*. Они могут встраиваться в HTML и выполняться автоматически при загрузке веб-страницы.
10
10
@@ -13,37 +13,37 @@
13
13
Это отличает JavaScript от другого языка - [Java](https://ru.wikipedia.org/wiki/Java).
14
14
15
15
```smart header="Почему <u>Java</u>Script?"
16
-
Когда JavaScript создавался, у него было другое имя - «LiveScript». Однако, Java была очень популярная в то время и было решено, что позиционирование языка как «младшего брата» Java будет полезно.
16
+
Когда JavaScript создавался, у него было другое имя - "LiveScript". Однако, Java была очень популярная в то время и было решено, что позиционирование языка как "младшего брата" Java будет полезно.
17
17
18
18
Со временем JavaScript стал полностью независимым языком со своей собственной спецификацией, называющейся [ECMAScript](http://ru.wikipedia.org/wiki/ECMAScript), и сейчас не имеет никакого отношения к Java.
19
19
```
20
20
21
-
Сегодня JavaScript может выполнятся не только в браузере, но и на сервере или на любом другом устройстве, которое имеет специальную программу, называющуюся [«движком» JavaScript](https://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%B8%D0%B6%D0%BE%D0%BA_JavaScript).
21
+
Сегодня JavaScript может выполнятся не только в браузере, но и на сервере или на любом другом устройстве, которое имеет специальную программу, называющуюся ["движком" JavaScript](https://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%B8%D0%B6%D0%BE%D0%BA_JavaScript).
22
22
23
-
У браузере есть собственный движок, который иногда называют «виртуальная машина JavaScript».
23
+
У браузере есть собственный движок, который иногда называют "виртуальная машина JavaScript".
24
24
25
-
Разные движки имеют разные «кодовые имена». Например:
25
+
Разные движки имеют разные "кодовые имена". Например:
26
26
27
27
-[V8](https://ru.wikipedia.org/wiki/V8_(%D0%B4%D0%B2%D0%B8%D0%B6%D0%BE%D0%BA_JavaScript)) -- в Chrome и Opera.
28
28
-[SpiderMonkey](https://ru.wikipedia.org/wiki/SpiderMonkey) -- в Firefox.
29
-
- ...Ещё есть «Trident» и «Chakra» для разных версий IE, «ChakraCore» для Microsoft Edge, «Nitro» и «SquirrelFish» для Safari и т.д.
29
+
- ...Ещё есть "Trident" и "Chakra" для разных версий IE, "ChakraCore" для Microsoft Edge, "Nitro" и "SquirrelFish" для Safari и т.д.
30
30
31
-
Эти названия полезно знать, так как они часто используются в статьях для разработчиков. Мы тоже будем их использовать. Например, если «функциональность X поддерживается V8», тогда «Х», скорее всего, работает в Chrome и Opera.
31
+
Эти названия полезно знать, так как они часто используются в статьях для разработчиков. Мы тоже будем их использовать. Например, если "функциональность X поддерживается V8", тогда "Х", скорее всего, работает в Chrome и Opera.
32
32
33
33
```smart header="Как работают движки?"
34
34
35
35
Движки сложны. Но основы понять легко.
36
36
37
-
1. Движок (встроенный, если это браузер) читает («парсит») сценарий.
38
-
2. Затем он преобразует («компилирует») сценарий в машинный язык.
37
+
1. Движок (встроенный, если это браузер) читает ("парсит") сценарий.
38
+
2. Затем он преобразует ("компилирует") сценарий в машинный язык.
39
39
3. После этого машинный код запускается и весьма быстро работает.
40
40
41
41
Движок применяет оптимизации на каждом этапе. Он даже просматривает скомпилированный скрипт во время его работы, анализируя проходящие через него данные, и применяет оптимизации к машинному коду, полагаясь на полученные знания. В результате скрипты работают очень быстро.
42
42
```
43
43
44
44
## Что может JavaScript в браузере?
45
45
46
-
Современный JavaScript - это «безопасный» язык программирования. Он не предоставляет низкоуровневый доступ к памяти или процессору, потому что он изначально был создан для браузеров, не требующих этого.
46
+
Современный JavaScript - это "безопасный" язык программирования. Он не предоставляет низкоуровневый доступ к памяти или процессору, потому что он изначально был создан для браузеров, не требующих этого.
47
47
48
48
Возможности Javascript сильно зависят от окружения в котором он работает. Например, [Node.JS](https://ru.wikipedia.org/wiki/Node.js) поддерживает функции чтения/записи произвольных файлов, выполнения сетевых запросов, и т.д.
49
49
@@ -55,7 +55,7 @@
55
55
- Реагировать на действия пользователя, щелчки мыши, перемещения указателя, нажатия клавиш.
56
56
- Отправлять сетевые запросы на удалённые сервера, скачивать и загружать файлы (технологии [AJAX](https://ru.wikipedia.org/wiki/AJAX) и [COMET](https://ru.wikipedia.org/wiki/Comet_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5))).
57
57
- Получать и устанавливать куки, задавать вопросы посетителю, показывать сообщения.
58
-
- Запоминать данные на стороне клиента («local storage»).
58
+
- Запоминать данные на стороне клиента ("local storage").
59
59
60
60
## Что НЕ может JavaScript в браузере?
61
61
@@ -65,7 +65,7 @@
65
65
66
66
- JavaScript на веб-странице не может читать/записывать произвольные файлы на жестком диске, копировать их или запускать программы. Он не имеет прямого доступа к системным функциям ОС.
67
67
68
-
Современные браузеры позволяют ему работать с файлами, но с ограниченным доступом и предоставляют его только если пользователь выполняет определённые действия, такие как «перетаскивание» файла в окно браузера или его выбор с помощью тега `<input>`.
68
+
Современные браузеры позволяют ему работать с файлами, но с ограниченным доступом и предоставляют его только если пользователь выполняет определённые действия, такие как "перетаскивание" файла в окно браузера или его выбор с помощью тега `<input>`.
69
69
70
70
Существуют способы взаимодействия с камерой/микрофоном и другими устройствами, но они требуют явного разрешения пользователя. Таким образом, страница с поддержкой JavaScript не может незаметно включить веб-камеру, наблюдать за происходящим и отправлять информацию в [ФСБ](https://ru.wikipedia.org/wiki/%D0%A4%D0%B5%D0%B4%D0%B5%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%BE%D0%B9_%D0%A4%D0%B5%D0%B4%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8).
71
71
- Различные окна/вкладки не знают друг о друге. Иногда одно окно, используя JavaScript, открывает другое окно. Но даже в этом случае, JavaScript с одной страницы не имеет доступа к другой, если они пришли с разных сайтов (с другого домена, протокола или порта).
@@ -95,20 +95,20 @@ JavaScript - это единственная браузерная техноло
95
95
Планируя изучить новую технологию, полезно оценить её перспективы. Итак, давайте перейдём к современным тенденциям, включая новые языки и браузерные технологии.
96
96
97
97
98
-
## Языки «над» JavaScript
98
+
## Языки "над" JavaScript
99
99
100
100
Синтаксис JavaScript подходит не под все нужны. Разные люди хотят иметь разные возможности.
101
101
102
102
Это естественно, потому что проекты разные и требования к ним тоже разные.
103
103
104
104
Так, в последнее время, появилось много новых языков, которые *транспилируются* (конвертируются) в JavaScript прежде, чем запустятся в браузере.
105
105
106
-
Современные инструменты делают транспиляцию очень быстрой и прозрачной, фактически позволяя разработчикам писать код на другом языке, автоматически преобразуя его в JavaScript «под капотом».
106
+
Современные инструменты делают транспиляцию очень быстрой и прозрачной, фактически позволяя разработчикам писать код на другом языке, автоматически преобразуя его в JavaScript "под капотом".
107
107
108
108
Примеры таких языков:
109
109
110
-
-[CoffeeScript](http://coffeescript.org/) добавляет «синтаксический сахар» для JavaScript. Он вводит более короткий синтаксис, которые позволяет писать чистый и лаконичный код. Обычно такое нравится Ruby-программистам.
111
-
-[TypeScript](http://www.typescriptlang.org/) концентрируется на добавлении «строгой типизации» для упрощения разработки и поддержки больших и сложных систем. Разработан Microsoft.
110
+
-[CoffeeScript](http://coffeescript.org/) добавляет "синтаксический сахар" для JavaScript. Он вводит более короткий синтаксис, которые позволяет писать чистый и лаконичный код. Обычно такое нравится Ruby-программистам.
111
+
-[TypeScript](http://www.typescriptlang.org/) концентрируется на добавлении "строгой типизации" для упрощения разработки и поддержки больших и сложных систем. Разработан Microsoft.
112
112
-[Dart](https://www.dartlang.org/) стоит особняком, потому что имеет собственный движок работающий вне браузера (например, в мобильных приложениях). Первоначально был предложен Google как замена JavaScript, но на данный момент, необходима его транспиляция для запуска, так же как для языков выше.
113
113
114
114
Есть и другие. Но даже если мы используем один из этих языков, мы, безусловно, должны знать JavaScript, чтобы действительно понимать, что мы делаем.
@@ -117,4 +117,4 @@ JavaScript - это единственная браузерная техноло
117
117
118
118
- JavaScript изначально создавался только для браузера, но сейчас используется на многих других платформах.
119
119
- Сегодня JavaScript занимает уникальную позицию в качестве самого распространенного языка для браузера обладающего полной интеграцией с HTML/CSS.
120
-
- Многие языки могут быть «транспилированы» в JavaScript для предоставления дополнительных функций. Рекомендуется хотя бы кратко рассмотреть их после освоения JavaScript.
120
+
- Многие языки могут быть "транспилированы" в JavaScript для предоставления дополнительных функций. Рекомендуется хотя бы кратко рассмотреть их после освоения JavaScript.
0 commit comments