JavaScript для детей. Самоучитель по программированию



Pdf көрінісі
бет32/43
Дата20.07.2022
өлшемі6,41 Mb.
#37806
1   ...   28   29   30   31   32   33   34   35   ...   43

Часть I. Основы
owedMoney;

Джимми:
8

Анна:
7
}
Хранение информации о фильмах
Предположим, у вас большая коллекция кино на DVD и Blu-
ray. Правда было бы здорово хранить информацию об этих 
фильмах на компьютере, чтобы в случае чего быстро найти 
сведения о том или ином фильме?
Для этого можно создать объект, каждый ключ в кото-
ром — это название фильма, а каждое значение — другой объ-
ект, в котором содержится информация об этом фильме. Да, 
хранящиеся в объекте значения тоже могут быть объектами! 
var movies = {
"В поисках Немо": {
releaseDate: 2003,
duration: 100,
actors: ["Альберт Брукс", "Эллен Дедженерес", 

"Александр Гоулд"],
format: "DVD"
},
"Звездные войны: Эпизод VI — Возвращение джедая": {
releaseDate: 1983,
duration: 134,
actors: ["Марк Хэмилл", "Харрисон Форд", "Кэрри Фишер"],
format: "DVD"
},
"Гарри Поттер и Кубок огня": {
releaseDate: 2005,
duration: 157,
actors: ["Дэниел Рэдклифф", "Эмма Уотсон", "Руперт Гринт"],
format: "Blu-ray"
}
};
Наверное, вы заметили, что названия фильмов (ключи внешнего объ-
екта) я поставил в кавычки, но ключи внутренних объектов записал без 
кавычек. Дело в том, что в названиях нужны пробелы — иначе пришлось 
бы писать нечто вроде ЗвездныеВойныЭпизодVIВозвращениеДжедая, 
а это уж совсем нелепо. Для ключей вложенных объектов кавычки нео-
бязательны, поэтому я их и не ставил. Код выглядит аккуратнее, когда 
в нем нет излишних знаков пунктуации.
Теперь, если вы захотите что-то узнать о фильме, это легко сделать:
Movies 
— 
фильмы
Release date 
— 
дата выхода 
Duration
— 
продолжи-
тельность
Actors
— 
в ролях
Format
— 
формат


4. Объекты
81
var findingNemo = movies["В поисках Немо"];
findingNemo.duration;
100
findingNemo.format;
"
DVD
"
Мы сохранили сведения о фильме «В поисках Немо» в переменной 
fi ndingNemo. Теперь достаточно обратиться к свойствам этого объекта 
(таким как 
duration и format), чтобы получить интересующую нас 
информацию.
Кроме того, в коллекцию легко добавить новые фильмы:
var cars = {
releaseDate: 2006,
duration: 117,
actors: ["Оуэн Уилсон", "Бонни Хант", "Пол Ньюман"],
format: "Blu-ray"
};
movies["Тачки"] = cars;
Здесь мы создали новый объект со сведениями о мультфильме 
«Тачки» (Cars), а затем добавили его в объект 
movies с ключом "Тачки".
Коллекция растет, и вам может понадобиться простой способ 
просмотреть названия всех своих фильмов. Для этого подойдет 
Object.keys:
Object.keys(movies);
["
В поисках Немо
", "
Звездные войны: Эпизод VI — Возвращение
джедая
", "
Гарри Поттер и Кубок огня
", "
Тачки
"]
Что мы узнали
Теперь мы знаем, как устроены объекты JavaScript. Они во многом 
похожи на массивы и тоже нужны для хранения множества элементов 
данных в одном месте. Но есть важное отличие — для доступа к эле-
ментам объекта используются строки, тогда как элементы массива 
расположены по числовым индексам. Поэтому массивы отсортированы 
по порядку, а объекты нет.
В дальнейших главах, когда мы больше узнаем о возможностях 
JavaScript, мы научимся использовать объекты для многих других задач. 
В следующей главе речь пойдет об HTML — языке разметки веб-страниц.


УПРА ЖНЕНИЯ
Попрактикуйтесь в использовании объектов, выполнив эти 
упражнения.
#1. Подсчет очков
Представьте, что вы играете в какую-нибудь игру со своими друзь-
ями и вам нужно вести счет. Создайте для этого объект и назовите 
его 
scores. Пусть ключами будут имена ваших друзей, а значе-
ниями — набранные ими очки (0 или больше). Счет игроков надо 
будет увеличивать по мере того, как они зарабатывают новые 
очки. Как вы будете менять счет игрока, хранящийся в объекте 
scores?
#2. Вглубь объектов и массивов
Пускай у вас есть такой объект:
var myCrazyObject = {
"name": "Нелепый объект",
"some array": [7, 9, { purpose: "путаница", number: 123 }, 3.3],
"random animal": "Банановая акула"
};
Как одной строкой JavaScript-кода извлечь из этого объекта 
число 123? Проверьте свое решение, запустив его в консоли.
My crazy 
object
— 
мой нелепый 
объект
Some array
— 
какой-то 
массив
Purpose
— цель
Random 
animal
— 
случайное 
животное


83
5


Достарыңызбен бөлісу:
1   ...   28   29   30   31   32   33   34   35   ...   43




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет