Простыми словами: коллбэк – это функция, которая должна быть выполнена после того, как другая функция завершила выполнение (отсюда и название: callback – функция обратного вызова). Чуть сложнее



Дата конвертації27.06.2019
Розмір14 Kb.
Назва файлуЗамикання.docx

  1. Замикання

Короче замыкания, это функция объявленная внутри функции, благодаря которой локальные переменные внутри старшей функции не сбрасываются после завершения работы этой функции, а остаются при повторном вызове.

Замыканиями они называются потому, что младшая функция их замыкает внутри старшей. А почему так происходит, х.з. видимо фича языка.

(Разобраться в этой сложной теме можно следующим образом. Когда мы видим внутри функции ещё одну функцию, а рядом с ней переменную, то сразу должны напрягаться: "так, здесь замыкание". И если затем где-то вызвать такую внешнюю функцию(), то внутренняя сама хозяйничает и делает с переменной разные штуки- увеличивает, уменьшает и т.д. И это происходит с каждым вызовом, поэтому постоянно меняется результат. Так всё это работает. Замыкания используют не очень часто, потому что несколько раз вложенные одна в другую функции увеличивают потребление памяти. Кроме того в этом случае нужно быть острожным с использованием цикла for.)


  1. Callback

Простыми словами: коллбэк – это функция, которая должна быть выполнена после того, как другая функция завершила выполнение (отсюда и название: callback – функция обратного вызова).

Чуть сложнее: В JavaScript функции – это объекты. Поэтому функции могут принимать другие функции в качестве аргументов, а также функции могут возвращать функции в качестве результата. Функции, которые это умеют, называются функциями высшего порядка. А любая функция, которая передается как аргумент, называется callback-функцией. Чтобы лучше разобраться, давайте посмотрим на примерах, как это выглядит.

Зачем нам нужны коллбэки?



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

Поділіться з Вашими друзьями:


База даних захищена авторським правом ©bezref.in.ua 2019
звернутися до адміністрації

    Головна сторінка