Глубокое понимание функций Javascript

Мы продолжаем разбирать функции, и теперь копнем еще глубже.

Пункты для размышления

  • Как вызвать функцию "как метод"?
  • Как вызвать функцию "как функцию"?
  • Что делают #apply и #call?
  • Когда необходимо использовать конструктор?
  • Когда для функции требуются аргументы?
  • Как можно передать функцию в качестве аргумента?
  • Как функция может вернуть другую функцию в виде своего результата? Как затем выполнить возвращенную функцию?
  • Как отметить аргумент, который не обязателен?
  • Как получить доступ к лишним (дополнительным) аргументам?
  • Что такое суррогаты и зачем они используются?
  • Что значит понятие "пространство имен" в отношении вашего кода?
  • Как разделить пространство имен, используя модули?

Ваши задания

  1. Прочтите Дизайн кода: организация Javascript от Alistapart до статьи "Создание модуля" включительно.
  2. Прочтите Пространства имен и использование модулей в JS, где объясняются основы... попробуйте использовать эти паттерны в следующих проектах (а также в остальных), и их понимание придет к вам.

Дополнительные ресурсы

Этот раздел содержит полезные ссылки на дополнительные материалы. Это не обязательно, так что расценивайте их как нечто полезное, если вы хотите поглубже погрузиться в тему

Поделиться уроком: