JavaScript: функции, массивы, объекты
Цель: изучить основы языка программирования JavaScript: функции, массивы, объекты. Приобрести навыки написания кода, работы с инструментами разработчика и консолью браузера, отладки кода с помощью IDE.
Порядок выполнения лабораторной работы:
- Изучить:
- синтаксис создания функций (объявление функции, функциональное выражение, стрелочные функции), параметры/аргументы, возврат значения;
- массивы (методы pop/push, shift/unshift, перебор for .. of, метод forEach);
- объекты (ключ: значение, перебор for .. in, методы delete, keys, values, entries);
- объект Math, его свойства и методы.
- Для выполнения работы необходимо:
- Создать документ html с H1 заголовком «ФИО - Лабораторная работа №10».
- Решить предложенные задачи используя JS.
- Подключить решения к созданной странице.
- Проверить код с помощью ES Lint и исправить ошибки.
- Зафиксировать результаты работы с помощью системы контроля версий git и отправить репозиторий на github.
- Загрузить проект на сервер через sftp или используя ssh.
Требования к JS:
- Все задачи имеют решение и требуемый в них вывод.
- Отсутствуют ошибки от ESLint.
- Отсутствуют ошибки в консоли браузера при работе с веб-страницей.
Результаты выполнения лабораторной работы:
Результаты работы проверены наставником.
Статическая веб-страница, сгенерированная с помощью команды npm run build
, на хостинге проверенная, со структурой и оформлением, которая соответствует требованиям и сохранена в системе контроля версий.
Источники
- «Современный учебник JavaScript»
- doka.guide
- Руководство по JavaScript на русском
- Марейн Хавербек «Выразительный Javascript»
Задачи
Задача №1 Функция конвертации скоростей
Код из первой задачи прошлой лабораторной работы переработать в функцию convertSpeed, которая принимает два параметра: значение скорости и направление преобразования. Функция возвращает в виде строки скорость в других единицах измерения.
Пример вывода:
convertSpeed(36, 'toMS') -> '10 м/с'
convertSpeed(36, 'toKMH') -> '72 км/ч'
Задача №2 Абсолютное значение
Напишите функцию absValue без Math.abs(x), которая в качестве параметра принимает число и возвращает его абсолютное значение (по модулю).
Пример вывода:
absValue(-2) -> 2
absValue(100) -> 100
absValue(0) -> 0
Задача №3 Работа с объектом
Напишите код, который создает объект, выводит список этих свойств и сообщение вида “Студент Имя Фамилия учится в номер группе”.
Пример объекта:
let student = {
group: 201,
last_name: "Иванов",
first_name: "Иван"
};
Пример вывода:
> Список свойств: group, last_name, first_name
> Студент Иван Иванов учится в 201 группе
Задача №4 Случайные числа
Используя методы объекта Math создать функцию, которая возвращает целое случайно сгенерированное число в диапазоне от min до max.
randomNumber(0, 10) -> 3
randomNumber(-10, 10) -> -4
Задача №5 Значения из массива
Используя функцию из прошлой задачи, реализовать функцию, которая возвращает случайные значения из массива в заданном количестве в виде нового массива.
sampleArray([1,2,3,4], 2) -> [3, 4]
randomNumber([1,2,3,4], 3) -> [2, 2, 1]
Вопросы для защиты
- Как создаются функции?
- Как хранятся данные в массиве?
- Какие методы массивов вы знаете?
- Как обратиться к элементу массива?
- Как можно перебирать элементы массива?
- Что такое объект?
- Как получить значение из свойства объекта?
- Для чего используется объект Math?
- Приведите примеры свойств и методов в Math.