0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p>Если бы для интернета писали Библию, она начиналась бы так:</p>
1
<p>Если бы для интернета писали Библию, она начиналась бы так:</p>
2
<p>Сначала была почта. И увидели инженеры, что это хорошо. И создали они WWW с гиперссылками. И увидели инженеры, что это тоже хорошо. И создали они тогда язык JavaScript для оживления страничек.</p>
2
<p>Сначала была почта. И увидели инженеры, что это хорошо. И создали они WWW с гиперссылками. И увидели инженеры, что это тоже хорошо. И создали они тогда язык JavaScript для оживления страничек.</p>
3
<p>Примерно так происходило в реальности.<em><a>JavaScript</a></em>придумали, чтобы "оживить"<em><a>HTML</a></em>. Скрипты<em>JavaScript</em>пишутся непосредственно в текст<em>HTML</em>или хранятся в отдельных файлах, как и стили<em><a>CSS</a></em>. Они выполняются сразу после загрузки страницы в браузер.</p>
3
<p>Примерно так происходило в реальности.<em><a>JavaScript</a></em>придумали, чтобы "оживить"<em><a>HTML</a></em>. Скрипты<em>JavaScript</em>пишутся непосредственно в текст<em>HTML</em>или хранятся в отдельных файлах, как и стили<em><a>CSS</a></em>. Они выполняются сразу после загрузки страницы в браузер.</p>
4
<p>Даже сам язык в первое время назывался<em>LiveScript</em>. Потом его переименовали в <em>JavaScript</em>, потому что планировали как-то увязать с языком общего назначения Java. Но сейчас у них нет практически ничего общего, а <em>JavaScript</em> - совершенно независимый язык программирования со своей четкой спецификацией<a>ECMAScript</a>.</p>
4
<p>Даже сам язык в первое время назывался<em>LiveScript</em>. Потом его переименовали в <em>JavaScript</em>, потому что планировали как-то увязать с языком общего назначения Java. Но сейчас у них нет практически ничего общего, а <em>JavaScript</em> - совершенно независимый язык программирования со своей четкой спецификацией<a>ECMAScript</a>.</p>
5
<p>Формально JavaScript является торговой маркой Oracle, а этот язык - "расширение" ECMAScript, наряду с JScript от Microsoft и ActionScript, но это скорее заморочки владельцев торговых марок. Главное, что свободный ECMAScript никому не принадлежит.</p>
5
<p>Формально JavaScript является торговой маркой Oracle, а этот язык - "расширение" ECMAScript, наряду с JScript от Microsoft и ActionScript, но это скорее заморочки владельцев торговых марок. Главное, что свободный ECMAScript никому не принадлежит.</p>
6
<p>Со временем сфера влияния<em>JavaScript</em>значительно расширилась. Его начали использовать не только для скриптов на странице<em>HTML</em>, но и для серьезных больших веб-приложений и целых программ, которые работают в браузере. Есть инструменты, чтобы специальным образом "упаковать" эти программы и выполнять их отдельно от браузера.</p>
6
<p>Со временем сфера влияния<em>JavaScript</em>значительно расширилась. Его начали использовать не только для скриптов на странице<em>HTML</em>, но и для серьезных больших веб-приложений и целых программ, которые работают в браузере. Есть инструменты, чтобы специальным образом "упаковать" эти программы и выполнять их отдельно от браузера.</p>
7
<p>Приложения JavaScript выполняются в любой среде, где есть соответствующий интерпретатор.</p>
7
<p>Приложения JavaScript выполняются в любой среде, где есть соответствующий интерпретатор.</p>
8
<p>Как сделать<em>JavaScript</em>? Написать элементарный скрипт не сложнее, чем простую<em>HTML</em>-страничку, ведь скрипты<em>JavaScript</em>пишутся обычным текстом, то есть их можно создавать буквально в том же "Блокноте", сохраняя потом в отдельных файлах или вставляя в тело<em>HTML</em>-документа. Самые простые вещи на <em>JavaScript</em>делаются действительно просто.</p>
8
<p>Как сделать<em>JavaScript</em>? Написать элементарный скрипт не сложнее, чем простую<em>HTML</em>-страничку, ведь скрипты<em>JavaScript</em>пишутся обычным текстом, то есть их можно создавать буквально в том же "Блокноте", сохраняя потом в отдельных файлах или вставляя в тело<em>HTML</em>-документа. Самые простые вещи на <em>JavaScript</em>делаются действительно просто.</p>
9
<p>Для примера сделаем простой скрипт для выполнения сервером сценариев Windows. Этот скрипт можно написать прямо в "Блокноте" и выполнить без браузера.</p>
9
<p>Для примера сделаем простой скрипт для выполнения сервером сценариев Windows. Этот скрипт можно написать прямо в "Блокноте" и выполнить без браузера.</p>
10
WScript.echo ("Привет, Skillbox!")<p>Пишем этот текст в <em>"Блокноте"</em>, затем сохраняем файл под именем<em>skillbox.js</em>и запускаем в <em>"Проводнике"</em>Windows.</p>
10
WScript.echo ("Привет, Skillbox!")<p>Пишем этот текст в <em>"Блокноте"</em>, затем сохраняем файл под именем<em>skillbox.js</em>и запускаем в <em>"Проводнике"</em>Windows.</p>
11
<p>Аналогичный скрипт можно записать прямо в коде страницы<em>HTML</em>между тегами<em><script></em>и<em></script>.</em>Там уже можно использовать обычные методы JavaScript, а не метод<em>echo</em>специфического объекта<em>WScript</em>. Рассмотрим некоторые из стандартных методов для ввода и вывода данных в браузере.</p>
11
<p>Аналогичный скрипт можно записать прямо в коде страницы<em>HTML</em>между тегами<em><script></em>и<em></script>.</em>Там уже можно использовать обычные методы JavaScript, а не метод<em>echo</em>специфического объекта<em>WScript</em>. Рассмотрим некоторые из стандартных методов для ввода и вывода данных в браузере.</p>
12
<p>Метод<em>alert()</em>отображает окошко с кнопкой "OK". В окне выводится сообщение, которое указано в скобках. Например,<em>"Привет, Skillbox!"</em>. То есть в данном случае браузер делает ровно то же самое, что перед этим делал сервер сценариев<em>Windows</em>.</p>
12
<p>Метод<em>alert()</em>отображает окошко с кнопкой "OK". В окне выводится сообщение, которое указано в скобках. Например,<em>"Привет, Skillbox!"</em>. То есть в данном случае браузер делает ровно то же самое, что перед этим делал сервер сценариев<em>Windows</em>.</p>
13
<p>Эти примеры тоже можно писать в "Блокноте", только сохранять в файлах с расширением<em>HTML</em>. Например,<em>skillbox.htm</em>.</p>
13
<p>Эти примеры тоже можно писать в "Блокноте", только сохранять в файлах с расширением<em>HTML</em>. Например,<em>skillbox.htm</em>.</p>
14
<html> <script> alert("Привет, Skillbox") </script> </html><p>Результат:</p>
14
<html> <script> alert("Привет, Skillbox") </script> </html><p>Результат:</p>
15
<p>В качестве аргумента<em>alert()</em>можно указать не только конкретный текст, но и результат каких-либо вычислений или обработки других данных. Например,<em>alert(x)</em>, где x вычисляется отдельно.</p>
15
<p>В качестве аргумента<em>alert()</em>можно указать не только конкретный текст, но и результат каких-либо вычислений или обработки других данных. Например,<em>alert(x)</em>, где x вычисляется отдельно.</p>
16
<p>Метод<em>confirm()</em>выводит такое же окно с сообщением, но уже с двумя кнопками - "ОК" и "Отмена". В зависимости от того, какую кнопку щелкнет пользователь, метод возвращает либо значение<em>true</em>, либо<em>false</em>. Сервер получает это возвращаемое значение от пользователя и выполняет какое-то действие, в зависимости от ответа.</p>
16
<p>Метод<em>confirm()</em>выводит такое же окно с сообщением, но уже с двумя кнопками - "ОК" и "Отмена". В зависимости от того, какую кнопку щелкнет пользователь, метод возвращает либо значение<em>true</em>, либо<em>false</em>. Сервер получает это возвращаемое значение от пользователя и выполняет какое-то действие, в зависимости от ответа.</p>
17
<p>Синтаксис такой же, только здесь логически предполагается выбор, так что пользователю задают вопрос.</p>
17
<p>Синтаксис такой же, только здесь логически предполагается выбор, так что пользователю задают вопрос.</p>
18
<html> <script> confirm("Привет, Skillbox?") </script> </html><p>Результат:</p>
18
<html> <script> confirm("Привет, Skillbox?") </script> </html><p>Результат:</p>
19
<p>Метод<em>prompt()</em>выводит диалоговое окно с сообщением и текстовым полем, куда пользователь вводит данные. Здесь тоже предусмотрены две кнопки "ОК" и "Отмена". По нажатию первой кнопки метод возвращает на сервер введенный текст, а по нажатию второй кнопки возвращает логическое значение<em>false</em>.</p>
19
<p>Метод<em>prompt()</em>выводит диалоговое окно с сообщением и текстовым полем, куда пользователь вводит данные. Здесь тоже предусмотрены две кнопки "ОК" и "Отмена". По нажатию первой кнопки метод возвращает на сервер введенный текст, а по нажатию второй кнопки возвращает логическое значение<em>false</em>.</p>
20
<p>Синтаксис здесь такой:</p>
20
<p>Синтаксис здесь такой:</p>
21
prompt(сообщение, значение_поля_ввода_данных)<p>Значение поля ввода необязательно. Туда можно вписать текст, который изначально введен в поле для удобства пользователя.</p>
21
prompt(сообщение, значение_поля_ввода_данных)<p>Значение поля ввода необязательно. Туда можно вписать текст, который изначально введен в поле для удобства пользователя.</p>
22
<p>Код:</p>
22
<p>Код:</p>
23
<html> <script> prompt("Передай привет Skillbox", "Привет") </script> </html><p>Результат:</p>
23
<html> <script> prompt("Передай привет Skillbox", "Привет") </script> </html><p>Результат:</p>
24
<p>Возможности современного<em>JavaScript</em>выходят далеко за рамки примитивного ввода-вывода данных через формы. Эти методы мы привели только в качестве самых простых примеров. Кроме этого,<em>JavaScript</em>позволяет реагировать на действия пользователя. Например, на движения мышкой или нажатие определенных клавиш.<em>JavaScript</em>часто используется для обеспечения асинхронной работы (<em>Технология</em><em>AJAX</em>), когда информация на странице обновляется без ее перезагрузки. В этом режиме данные отправляются на сервер и загружаются оттуда в интерактивном режиме. Кроме того,<em>JavaScript</em>способен манипулировать с <em>HTML</em>-элементами на странице (создавать и прятать теги и т.д.) и делать многое другое.</p>
24
<p>Возможности современного<em>JavaScript</em>выходят далеко за рамки примитивного ввода-вывода данных через формы. Эти методы мы привели только в качестве самых простых примеров. Кроме этого,<em>JavaScript</em>позволяет реагировать на действия пользователя. Например, на движения мышкой или нажатие определенных клавиш.<em>JavaScript</em>часто используется для обеспечения асинхронной работы (<em>Технология</em><em>AJAX</em>), когда информация на странице обновляется без ее перезагрузки. В этом режиме данные отправляются на сервер и загружаются оттуда в интерактивном режиме. Кроме того,<em>JavaScript</em>способен манипулировать с <em>HTML</em>-элементами на странице (создавать и прятать теги и т.д.) и делать многое другое.</p>
25
<p>Во всех популярных браузерах есть специальная консоль разработчика. Она показывает код скриптов на странице, а также выводит другую полезную информацию. В <em>Chrome, Firefox</em>и<em> IE</em>консоль разработчика открывается по нажатию горячей клавиши<em>F12</em>, в <em>Safari - Ctrl+Shift+I</em>или<em> Ctrl+Alt+C.</em>На скриншоте скрипты отображаются справа вверху, вместе с другими элементами веб-страницы.</p>
25
<p>Во всех популярных браузерах есть специальная консоль разработчика. Она показывает код скриптов на странице, а также выводит другую полезную информацию. В <em>Chrome, Firefox</em>и<em> IE</em>консоль разработчика открывается по нажатию горячей клавиши<em>F12</em>, в <em>Safari - Ctrl+Shift+I</em>или<em> Ctrl+Alt+C.</em>На скриншоте скрипты отображаются справа вверху, вместе с другими элементами веб-страницы.</p>
26
Консоль разработчика в Chrome.<p>В дальнейшем для удобного программирования понадобится установить редактор кода или<em>IDE (Integrated Development Environment),</em>интегрированную среду разработки.<em>IDE</em> - это редактор с расширенной функциональностью, который интегрирован с другими полезными инструментами, поддерживает подключение дополнительных модулей и так далее.</p>
26
Консоль разработчика в Chrome.<p>В дальнейшем для удобного программирования понадобится установить редактор кода или<em>IDE (Integrated Development Environment),</em>интегрированную среду разработки.<em>IDE</em> - это редактор с расширенной функциональностью, который интегрирован с другими полезными инструментами, поддерживает подключение дополнительных модулей и так далее.</p>
27
<p>Для начала можно рекомендовать один из легких редакторов:</p>
27
<p>Для начала можно рекомендовать один из легких редакторов:</p>
28
<ul><li><a>Sublime Text</a>;</li>
28
<ul><li><a>Sublime Text</a>;</li>
29
<li><a>Atom</a>;</li>
29
<li><a>Atom</a>;</li>
30
<li><a>SciTe</a>;</li>
30
<li><a>SciTe</a>;</li>
31
<li><a>Notepad++</a>.</li>
31
<li><a>Notepad++</a>.</li>
32
</ul><p>В будущем есть смысл присмотреться к <em>IDE</em>:</p>
32
</ul><p>В будущем есть смысл присмотреться к <em>IDE</em>:</p>
33
<ul><li><a>IntelliJ WebStorm</a>;</li>
33
<ul><li><a>IntelliJ WebStorm</a>;</li>
34
<li><a>Visual Studio</a>.</li>
34
<li><a>Visual Studio</a>.</li>
35
</ul>
35
</ul>