HTML Diff
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>&lt;script&gt;</em>и<em>&lt;/script&gt;.</em>Там уже можно использовать обычные методы JavaScript, а не метод<em>echo</em>специфического объекта<em>WScript</em>. Рассмотрим некоторые из стандартных методов для ввода и вывода данных в браузере.</p>
11 <p>Аналогичный скрипт можно записать прямо в коде страницы<em>HTML</em>между тегами<em>&lt;script&gt;</em>и<em>&lt;/script&gt;.</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 &lt;html&gt; &lt;script&gt; alert("Привет, Skillbox") &lt;/script&gt; &lt;/html&gt;<p>Результат:</p>
14 &lt;html&gt; &lt;script&gt; alert("Привет, Skillbox") &lt;/script&gt; &lt;/html&gt;<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 &lt;html&gt; &lt;script&gt; confirm("Привет, Skillbox?") &lt;/script&gt; &lt;/html&gt;<p>Результат:</p>
18 &lt;html&gt; &lt;script&gt; confirm("Привет, Skillbox?") &lt;/script&gt; &lt;/html&gt;<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 &lt;html&gt; &lt;script&gt; prompt("Передай привет Skillbox", "Привет") &lt;/script&gt; &lt;/html&gt;<p>Результат:</p>
23 &lt;html&gt; &lt;script&gt; prompt("Передай привет Skillbox", "Привет") &lt;/script&gt; &lt;/html&gt;<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>