Skip to content

Commit 242f750

Browse files
author
ftwr1
committed
changes
1 parent 864c848 commit 242f750

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

1-js/01-getting-started/1-intro/article.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,17 @@
2828
- [SpiderMonkey](https://ru.wikipedia.org/wiki/SpiderMonkey) -- в Firefox.
2929
- ...Ещё есть «Trident» и «Chakra» для разных версий IE, «ChakraCore» для Microsoft Edge, «Nitro» и «SquirrelFish» для Safari и т.д.
3030

31-
Постарайтесь запомнить приведенные выше термины, они часто используются в статьях для разработчиков. Мы тоже будем их использовать. Например, если «функциональность X поддерживается V8», тогда «Х», скорее всего, работает в Chrome и Opera.
31+
Эти названия полезно знать, так как они часто используются в статьях для разработчиков. Мы тоже будем их использовать. Например, если «функциональность X поддерживается V8», тогда «Х», скорее всего, работает в Chrome и Opera.
3232

3333
```smart header="Как работают движки?"
3434
3535
Движки сложны. Но основы понять легко.
3636
37-
1. Движок (встроенный, если это браузер) читает («разбирает») сценарий.
37+
1. Движок (встроенный, если это браузер) читает («парсит») сценарий.
3838
2. Затем он преобразует («компилирует») сценарий в машинный язык.
39-
3. После этого машинный код достаточно быстро запускается.
39+
3. После этого машинный код запускается и весьма быстро работает.
4040
41-
Движок применяет оптимизации на каждом этапе. Он даже просматривает скомпилированный сценарий во время его работы, анализируя проходящие через него данные, и применяя оптимизации к машинному коду, полагаясь на полученные знания. В результате сценарии запускаются довольно быстро.
41+
Движок применяет оптимизации на каждом этапе. Он даже просматривает скомпилированный скрипт во время его работы, анализируя проходящие через него данные, и применяет оптимизации к машинному коду, полагаясь на полученные знания. В результате скрипты работают очень быстро.
4242
```
4343

4444
## Что может JavaScript в браузере?
@@ -47,7 +47,7 @@
4747

4848
Возможности Javascript сильно зависят от окружения в котором он работает. Например, [Node.JS](https://ru.wikipedia.org/wiki/Node.js) поддерживает функции чтения/записи произвольных файлов, выполнения сетевых запросов, и т.д.
4949

50-
В браузере для JavaScript доступно всё, что связанно с манипулированием веб-страницами, взаимодействием с пользователем и веб-сервером.
50+
В браузере для JavaScript доступно всё, что связано с манипулированием веб-страницами, взаимодействием с пользователем и веб-сервером.
5151

5252
Например, в браузере JavaScript может:
5353

@@ -70,10 +70,10 @@
7070
Существуют способы взаимодействия с камерой/микрофоном и другими устройствами, но они требуют явного разрешения пользователя. Таким образом, страница с поддержкой 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).
7171
- Различные окна/вкладки не знают друг о друге. Иногда одно окно, используя JavaScript, открывает другое окно. Но даже в этом случае, JavaScript с одной страницы не имеет доступа к другой, если они пришли с разных сайтов (с другого домена, протокола или порта).
7272

73-
Это называется «Правило ограничения домена» (Same Origin Policy). Чтобы обойти это, *обе страницы* должны содержать JavaScript-код, который обрабатывает обмен данными.
73+
Это называется "Политика одинакового источника" (Same Origin Policy). Чтобы обойти это ограничение, обе страницы должны быть на это согласны и содержать JavaScript-код, который специальным образом обменивается данными.
7474

7575
Это ограничение необходимо, опять же, для безопасности пользователя. Страница `http://anysite.com`, которую открыл пользователь, не должна иметь доступ к другой вкладке браузера с URL `http://gmail.com` и воровать информацию оттуда.
76-
- JavaScript может легко взаимодействовать с сервером с которого пришла текущая страница. Но его способность получать данные с других сайтов/доменов ограничена. Хотя это возможно, требуется явное соглашение (выраженное в заголовках HTTP) с удалённой стороной. Опять же, это ограничение безопасности.
76+
- JavaScript может легко взаимодействовать с сервером, с которого пришла текущая страница. Но его способность получать данные с других сайтов/доменов ограничена. Хотя это возможно, требуется явное соглашение (выраженное в заголовках HTTP) с удалённой стороной. Опять же, это ограничение безопасности.
7777

7878
![](limitations.png)
7979

@@ -99,19 +99,19 @@ JavaScript - это единственная браузерная техноло
9999

100100
Синтаксис JavaScript подходит не под все нужны. Разные люди хотят иметь разные возможности.
101101

102-
Это ожидаемо, потому что проекты разные и требования к ним тоже разные.
102+
Это естественно, потому что проекты разные и требования к ним тоже разные.
103103

104104
Так, в последнее время, появилось много новых языков, которые *транспилируются* (конвертируются) в JavaScript прежде, чем запустятся в браузере.
105105

106-
Современные инструменты делают транспиляцию очень быстрой и прозрачной, фактически позволяя разработчикам писать код на другом языке автоматически преобразуя его в JavaScript «под капотом».
106+
Современные инструменты делают транспиляцию очень быстрой и прозрачной, фактически позволяя разработчикам писать код на другом языке, автоматически преобразуя его в JavaScript «под капотом».
107107

108108
Примеры таких языков:
109109

110110
- [CoffeeScript](http://coffeescript.org/) добавляет «синтаксический сахар» для JavaScript. Он вводит более короткий синтаксис, которые позволяет писать чистый и лаконичный код. Обычно такое нравится Ruby-программистам.
111111
- [TypeScript](http://www.typescriptlang.org/) концентрируется на добавлении «строгой типизации» для упрощения разработки и поддержки больших и сложных систем. Разработан Microsoft.
112112
- [Dart](https://www.dartlang.org/) стоит особняком, потому что имеет собственный движок работающий вне браузера (например, в мобильных приложениях). Первоначально был предложен Google как замена JavaScript, но на данный момент, необходима его транспиляция для запуска, так же как для языков выше.
113113

114-
Но даже если мы используем один из этих языков, мы, безусловно, должны знать JavaScript чтобы действительно понимать, что мы делаем.
114+
Есть и другие. Но даже если мы используем один из этих языков, мы, безусловно, должны знать JavaScript, чтобы действительно понимать, что мы делаем.
115115

116116
## Итого
117117

0 commit comments

Comments
 (0)