Читаем JavaScript для детей полностью

// Выбор случайного слова из массива randomWords:

случайное

прилагатель-

var randomWord = randomWords[Math.floor(Math.random() * 5)];

ное

// Соединяем случайные строки в предложение:

var randomInsult = "У тебя " + randomBodyPart + " словно " + 

Random

randomAdjective + " " + randomWord + "!!!";

insult —

randomInsult;

случайная

"У тебя нос словно дурацкая выдра!!!"

дразнилка

У нас есть три массива со словами, и в стро-

ках ,  и  мы с помощью трех индек-

сов берем из каждого массива по случай-

ному слову. Затем мы склеиваем их, помещая

результат в переменную randomInsult, —

это и есть готовая дразнилка. В строках 

и  мы используем множитель 3, поскольку

и в randomAdjective, и в randomBodyPart

по три элемента. Аналогично в строке  мы

умножаем на 5, ведь в randomWords пять

элементов. Обратите внимание, что мы доба-

вили между randomAdjective и randomWord

3. Массивы 67

строку с единственным пробелом. Запустите этот код несколько раз —

при каждом запуске получится новая случайная дразнилка!

ПОПР ОБУ ЙТЕ !

Если хотите сделать все действительно по-умному, замените строку 

на вот такую:

var randomWord = randomWords[Math.floor(Math.random() * 

randomWords.length)];

В этой программе всегда нужно умножать Math.random() на длину

массива; использование randomWords.length как множителя означает,

что нам не понадобится менять этот код, если длина массива изменится.

Вот еще один способ составления случайной дразнилки:

var randomInsult = ["У тебя", randomBodyPart, "словно", 

randomAdjective, randomWord + "!!!"].join(" ");

"У тебя череп словно дурацкая дубина!!!"

В этом варианте каждое слово дразнилки — это отдельный эле-

мент массива, и мы соединяем все эти элементы методом join с раз-

делителем-пробелом. Лишь в одном случае пробел не нужен — между

randomWord и «!!!». В этом случае мы используем оператор +, чтобы сое-

динить строки без пробела.

Что мы узнали

Как мы теперь знаем, массивы JavaScript предназначены для хранения

списка значений. Мы научились создавать массивы и работать с ними

и освоили много способов доступа к их элементам.

Массивы JavaScript — один из способов хранения множества значений

в одном месте. В следующей главе мы познакомимся с объектами — дру-

гим способом объединения значений в единую сущность. Для доступа

к элементам объектов используются строковые ключи, а не индексы.

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

УПРА ЖНЕНИЯ

Чтобы укрепить знания, полученные в этой главе, выполните эти

упражнения.

#1. Новые дразнилки

Сделайте генератор случайных дразнилок со своим набором

слов.

#2. Изощренные дразнилки

Усовершенствуйте генератор дразнилок, чтобы он создавал драз-

нилки такого типа: «У тебя [часть тела] еще более [прилагатель-

ное], чем [часть тела животного] у [животное]».

Подсказка: нужно будет создать еще один массив.

#3. Оператор + или join?

Сделайте две версии своего генератора дразнилок: одна пусть

использует для составления дразнилки оператор +, а другая соз-

дает массив со словами и соединяет их через пробел с помощью

join. Какой вариант вам больше нравится и почему?

#4. Соединение чисел

Как с помощью метода join превратить массив [3, 2, 1] в строку

"3 больше, чем 2 больше, чем 1"?

4

О Б Ъ Е К Т Ы

Объекты JavaScript очень похожи на массивы, но для доступа к элемен-

там объектов используются строки, а не числа. Эти строки называют

ключами, или свойствами, а элементы, которые им соответствуют, —

значениями. Вместе эти фрагменты информации образуют пары «ключ-

значение». Причем если массивы используются главным образом как

списки, хранящие множество элементов, то объекты часто применяют

как одиночные сущности с множеством характеристик, или атрибутов.

Например, в третьей главе мы создали несколько массивов, хранящих

названия разных животных. Но что если нужно хранить набор различ-

ных сведений об одном конкретном животном?

Создание объектов

Для хранения всевозможной информации об одном животном подойдет

JavaScript-объект. Вот пример объекта, где хранятся сведения о трехно-

гой кошке по имени Гармония.

var cat = {

Cat — кошка

"legs": 3,

Legs — ноги

"name": "Гармония",

Color — цвет,

"color": "Черепаховый"

окрас

};

Мы создали переменную под названием cat и присвоили ей объект

с тремя парами «ключ-значение» (лапы, имя, окрас). При создании объ-

екта используются фигурные скобки {} вместо квадратных, к которым

70

мы привыкли, создавая массивы. Внутри фигурных ско-

бок можно вводить пары «ключ-значение», а вместе скобки

и пары значений называются литералом объекта. Литерал

объекта — это быстрый способ создания объекта вместе с его

содержимым.

! Мы уже встречались с литералами массивов (например, ["a", "б",

"в"] ), числовыми литералами (например, 37 ), строковыми литера-

лами (например, "лось" ) и булевыми литералами ( true и false ).

Литерал — это когда значение записывается сразу и целиком,

Перейти на страницу:

Похожие книги