Показать сообщение отдельно
  #1 (permalink)  
Старый 27.09.2012, 00:39
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Почему происходит вызов функции
Объясните как работает вызов вложенной функции тут:

function f() {
  return function g() {
    alert("sdf");
  };
}
var g = f();
g();


Как бы я логически мыслил: Есть функция f(){ } , есть кнопочка "пуск" - f(); .
Если я создам коробочку - var g и положу туда эту кнопочку, то две там кнопочки не станет

Почему происходит вызов вложенной функции?


или тут:

function getFunc() {
  var func = function() { alert("dsf"); };
  return func; 
}
getFunc()(); // А если бы у меня было 2 вложенные функции?


Вызов getFunc()(); непонятен. Почему он вызывает вложенную функцию. А если бы их было 2, 3 и более?
Ответить с цитированием