часть тела
var randomBodyPart = randomBodyParts[Math.floor(Math.random() * 3)];
// Выбор случайного прилагательного из массива randomAdjectives:
Random
var randomAdjective = randomAdjectives[Math.floor(Math.random() * 3)];
adjective —
// Выбор случайного слова из массива 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 и присвоили ей объект
Читать дальше
Конец ознакомительного отрывка
Купить книгу