Разница между вызовом внутренней функции из внешней и внешней из внутренней заключается в доступе к переменным и объектам. 24
При вызове внутренней функции из внешней внутренняя функция может использовать переменные и объекты из внешней функции. 24 Включающая функция предоставляет пространство имён, доступное вложенной в неё функции. 4
При вызове внешней функции не получается ссылка на внутреннюю функцию. 2 Внутренняя функция и её локальные переменные не будут доступны вне внешней функции. 2
Однако если превратить вложенную функцию в замыкание, то есть вернуть её объект из внешней функции, то внутренняя функция сможет использовать переменные из внешней даже после завершения выполнения внешней функции. 24 Это позволяет вложенной функции сохранять состояние своего окружения. 4