Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Домашнее задание по лекции Базовые знания
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore
README.md

README.md

Базовые знания

Необходимо создать объект, описывающий событие в календаре.

У события должно быть начало, конец, место и название. Подумайте какой тип данных стоит использовать для каждого из полей. Так же подумайте какие еще поля вы считаете, что должны быть. Например Рейтинг события (звезды от 0 до 5), Участники, GPS координаты места, Какая-нибудь ссылка ... все они на ваше усмотрение и вкус.

  • В итоге у вас должена получиться функция, которая создает такой объект, проверяет валидность переданых данных.
  • Кроме создания функции необходимо, чтобы она так же проходила jslint
  • Была с задокументирована с помошью JSDoc. (см. пример)
  • Код должен быть в UTF-8!
  • Должен лежать в отдельном файле .js

Самый примитивный вид такой:

/**
 * Возвращает объект Event
 *
 * @param {Number|Date} start             Начало события
 * @param {Number|Date} end               Конец события
 * @param {String}      [name="Событие"]  Имя события
 *
 * @example
 *    Event(new Date('2011-10-10T14:48:00'),
 *          new Date('2011-10-10T15:48:00'),
 *          "Совещание")
 *
 * @return {Object}
 */
function Event(start, end, name) {
    return {
        "start": +start,
        "end": +end,
        "name": name || "Событие"
    };
}

Распостраненные ошибки

  • Слишком много аргументов у функции - лучше передавать в функцию объект с определенными параметрами, а в функции проверять их наличие и валидность. Функция станет читаемой и мы сможем менять порядок аргументов
  • Необходимо выделить критичные и не еритичные параметры (для критичных можно выбрасывать исключение, а для не критичных устанавливать значение по умолчанию)
  • Не понятные имена переменных - a, b, c, t
Something went wrong with that request. Please try again.