Опубликовано Оставить комментарий

JavaScript конструкторы

Синий кит
Синий кит

JavaScript конструкторы, прототипное наследование, методы встроенных объектов — темы, которые требуются при устройстве на работу или свободной практике. При первом знакомстве с JS, если раньше не занимались программированием, на выполнение задач в JavaScript связанных с объектами придется затратить больше времени, чем на предыдущие задания. Как обычно нам помогут книги по JS, методические пособия с курса, группа поддержки выпускников в vk.com. Если есть некоторая растерянность в работе, отложите текущие задачи и поиграйте в CodeCombat или FightCode 🙂

JavaScript конструкторы и объекты

  1. Создайте конструктор function Card(from, to){...}, создающий объекты карточки со свойствами from, to и методом show(), возвращающим  свойства отдельного объекта в виде строки «from,to», где на месте названий свойств будут их значения. Создайте переменную c1 с городами Екатеринбург и Москва
  2. Опишите класс Human:  для создания объектов со свойствами name, age и height конструктор класса должен принимать одноимённые аргументы . Создайте массив humans из десяти объектов:
    «Коля», 23, 180,
    «Даша», 19, 170,
    «Ваня», 18, 192,
    «Петя», 45, 178,
    «Вася», 34, 197,
    «Джони», 40, 168,
    «Катя», 37, 160,
    «Петя», 29, 200,
    «Соня», 21, 172,
    «Женя», 25, 175
    Укажите классу метод getInfo (он должен возвращать строки вида «Коля, 23, 180»), метод геттер firstname ( он должен возвращать свойство name объекта)
  3. (*) Напишите функции сортировки sortByName и sortByHeight, которые смогут отсортировать массив по именам (в алфавитном порядке) или росту (по убыванию роста). Вызовите только функцию сортировки по росту.
  4. Получите в переменную dt1  дату соответствующую 0:00, 1 января 2045 года, при помощи конструктора Date()
  5. В переменную dt2 найдите кол-во секунд, которое прошло с 1 января 1970 года по текущий момент.
  6. Напишите функцию getDays, которая принимает год и месяц (пусть январь будет — 1, февраль — 2 и т.д.), а возвращает количество дней в месяце
  7. (*) Напишите функцию calendar(year,month), которая принимает два параметра — номер месяца и год, а возвращает разметку календаря HTML на указанный месяц.
  8. (*) Через прототип расширьте встроенный объект Number методом isOdd(), который возвращает true, если число нечетное.
  9. (*) Создайте конструктор , который поддерживает на своих методах цепочечный синтаксис.
  10. (*) Представьте, что разрабатываете игру. Создайте конструктор Unit(), создающий объекты с координатами x, y. При помощи прототипного наследования расширьте Unit(), создав новый конструктор Fighter() с свойством power. Примечание: не забудьте о геттерах и сеттерах.

Посмотреть другие задания по JavaScript

Добавить комментарий