Chinnathambi K. JavaScript - Fragment
Chinnathambi K. JavaScript - Fragment
Chinnathambi K. JavaScript - Fragment
JavaScript с нуля
Серия «Библиотека программиста»
Перевел с английского Д. Акуратер
Заведующая редакцией Ю. Сергиенко
Руководитель проекта А. Питиримов
Ведущий редактор К. Тульцева
Литературный редактор Н. Нефидова
Обложка В. Мостипан
Корректоры Н. Петрова, М. Одинокова
Верстка Е. Неволайнен
ББК 32.988.02-018
УДК 004.738.5
Кирупа Чиннатхамби
К43 JavaScript с нуля. — СПб.: Питер, 2021. — 400 с.: ил. — (Серия «Библиотека
программиста»).
ISBN 978-5-4461-1701-7
JavaScript еще никогда не был так прост! Вы узнаете все возможности языка программирования
без общих фраз и неясных терминов. Подробные примеры, иллюстрации и схемы будут понятны даже
новичку. Легкая подача информации и живой юмор автора превратят нудное заучивание в заниматель-
ную практику по написанию кода. Дойдя до последней главы, вы настолько прокачаете свои навыки,
что сможете решить практически любую задачу, будь то простое перемещение элементов на странице
или даже собственная браузерная игра.
Права получены по соглашению с Pearson Education, Inc. Все права защищены. Никакая часть данной книги не мо-
жет быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
Благодарности......................................................................................................... 18
Об авторе................................................................................................................. 18
От издательства...................................................................................................... 19
Введение .........................................................................................................20
Парле ву JavaScript?................................................................................................ 21
Связь со мной ......................................................................................................... 22
Простая функция..................................................................................................... 40
Другие циклы........................................................................................................... 77
Цикл while ................................................................................................................78
Цикл do...while..........................................................................................................78
Глава 7. Таймеры.............................................................................................87
Задержка с помощью setTimeout .......................................................................... 87
Выполнение циклов с помощью setInterval............................................................89
Плавная анимация с помощью requestAnimationFrame . ......................................90
Области блоков....................................................................................................... 97
Как JavaScript обрабатывает переменные............................................................100
Замыкания...............................................................................................................102
Глава 9. Замыкания........................................................................................103
Функции внутри функций...................................................................................... 104
Операторы............................................................................................................. 178
Простые математические действия......................................................................179
Глоссарий.......................................................................................................398
В ЭТОЙ ГЛАВЕ:
1
y разберемся, почему JavaScript прекрасен;
y немного попотеем, разбирая простой код;
y узнаем, что нас ждет впереди.
HELLO, WORLD!
Суть HTML в отображении, а CSS — в хорошей картинке. С помощью
их обоих вы можете создать нечто прекрасное вроде примера с прогно-
зом погоды, доступного для просмотра здесь: http://bit.ly/kirupaWeather.
На рис. 1.1 показано, как это выглядит.
РИС. 1.1.
Приложение прогноза погоды — яркий пример дизайна страницы,
выполненного с помощью CSS
24 ГЛАВА 1. Hello, world!
РИС. 1.2.
Примеры сайтов, функциональность которых во многом полагается на JavaScript
function sayHello(name) {
if (name == null) {
alert("Hello, " + defaultName + "!");
} else {
alert("Hello, " + name + "!");
}
}
Hello, world!
Возможно, сейчас вы ощутите недостаток навыков для написания кода.
Тем более если вы не знакомы с программированием даже в общих
чертах. Но уже скоро вы поймете, что JavaScript не такой бесячий
и сложный, каким ему хочется казаться. Итак, приступим.
26 ГЛАВА 1. Hello, world!
HTML-документ
Первое, что вам нужно, — это открыть HTML-документ. В этом доку-
менте вы будете записывать свой код на JavaScript. Затем запустите
свой любимый редактор кода. Если у вас такового пока нет, рекомендую
использовать Visual Studio Code. После запуска редактора перейдите
к созданию нового файла. В Visual Studio Code вы увидите вкладку
Untitled, как на рис. 1.3.
РИС. 1.3.
Вкладка Untitled-1 в Visual Studio Code
Сохраните созданный файл через меню File | Save. Вам нужно указать
его имя и рабочий стол. После сохранения добавьте в него следующий
код HTML:
Hello, world! 27
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>An Interesting Title Goes Here</title>
<style>
</style>
</head>
<body>
<script>
</script>
</body>
</html>
</script>
РИС. 1.4.
Проименованная вкладка в Visual Studio Code
РИС. 1.5.
Так должно выглядеть диалоговое окно hello, world
РИС. 1.6.
Теперь в диалоговом окне отображается ваше имя
КОРОТКО О ГЛАВНОМ
В этой главе вы познакомились с написанием кода на JavaScript. В процессе
этого знакомства я дал некоторые принципы и термины. Разумеется, я не
жду, что вы все это сразу запомните. В следующих уроках мы возьмем
наиболее интересные части пройденного материала и проработаем их
более детально. В конце концов, я уверен, что с помощью JS вам хочется
создавать штуки, выходящие далеко за рамки примитивного отображения
текста с помощью диалогового окна.
Забегая вперед, скажу, что в конце каждой главы есть набор ссылок, веду-
щих на ресурсы, созданные мной или другими разработчиками. Вы сможете
почерпнуть больше информации, взглянуть на пройденный материал под
другим углом, а также опробовать свои силы на практике, решая более
сложные примеры. Рассматривайте материал из этой книги как трамплин,
позволяющий допрыгнуть до более крутых штук.
Если у вас есть какие-либо вопросы относительно этой главы, оставляйте
свои сообщения на форуме https://forum.kirupa.com, где вам оперативно
ответит кто-то из крутых разработчиков или я.
В ЭТОЙ ГЛАВЕ:
y узнаем, как использовать значения для хранения
данных;
2
y создадим свой код, задавая значения;
y вкратце ознакомимся с соглашениями о при-
своении имен переменных.
ЗНАЧЕНИЯ И ПЕРЕМЕННЫЕ
Принято считать, что каждый фрагмент данных на JavaScript, предо-
ставляемый или используемый нами, содержит значение. Из уже рас-
смотренного примера мы узнали, что вместо слов hello, world! могут
быть любые слова, с помощью которых мы задаем функцию alert:
alert("hello, world!");
Использование переменных
Переменная — это идентификатор значения. Чтобы не набирать hello,
world! каждый раз, когда вы хотите использовать этот фрагмент для
написания кода приложения, можно присвоить эту фразу переменной
и использовать ее тогда, когда нужно. Еще чуть-чуть, и вам станет
гораздо понятнее — я обещаю!
Есть несколько способов, как использовать переменные. В большинстве
случаев лучше всего полагаться на ключевое слово let, после которого
вы можете задать имя своей переменной:
let myText
<head>
<meta charset="utf-8">
<title>An Interesting Title Goes Here</title>
<style>
</style>
</head>
<body>
<script>
let myText = "hello, world!";
alert(myText);
</script>
</body>
</html>
Еще кое-что о переменных 33
Именование переменных
Мы вольны именовать переменные так, как нам подходит. Игнорируя
то, какие имена нам следует выбрать с точки зрения философских,
культурных или стилистических предпочтений, с технической точки
зрения язык JavaScript очень гибок и позволяет включать в них символы.
Однако эта гибкость не безгранична, поэтому при именовании следует
помнить о следующем:
34 ГЛАВА 2. Значения и переменные