Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Непонятная конструкция! (https://javascript.ru/forum/misc/41548-neponyatnaya-konstrukciya.html)

NoobProgger 18.09.2013 22:01

Непонятная конструкция!
 
Здравствуйте, уважаемые, посмотрите пожалуйста код
var moveStep = function(elem) 
  {
    digits[elem]._digitInitial = -(digits[elem].__max * options.digitHeight * options.digitImages);
    return function _move() {
      mtop = margin(elem) + options.digitHeight;
      if (mtop == options.digitHeight) {
        margin(elem, digits[elem]._digitInitial);
        if (elem > 0) moveStep(elem - 1)();
        else 
        {
          clearInterval(interval);
          for (var i=0; i < digits.length; i++) margin(i, 0);
          options.timerEnd();
          return;
        }
        if ((elem > 0) && (digits[elem].__condmax !== undefined) && 
            (digits[elem - 1]._digitInitial == margin(elem - 1)))
          margin(elem, -(digits[elem].__condmax * options.digitHeight * options.digitImages));
        return;
      }

      margin(elem, mtop);
      if (margin(elem) / options.digitHeight % options.digitImages != 0)
        setTimeout(_move, options.stepTime);

      if (mtop == 0) digits[elem].__ismax = true;
    }
  };

Вопрос в следующем, что за конструкция moveStep(elem - 1)(); ??? Как я понимаю moveStep(elem - 1) - функция, но что за круглые скобочки идут далее??

Яростный Меч 18.09.2013 22:11

moveStep(elem - 1) возвращает функцию, а круглые скобочки ее вызывают

NoobProgger 18.09.2013 22:14

Понял, спасибо!


Часовой пояс GMT +3, время: 09:00.