Объяснение к примеру «JavaScript - хорошие части» (раздел 4.15)?

Новичку в JS :) требуется объяснение фрагмента кода из книги Крокфорда , раздел 4.15:

var memoizer = function (memo, fundamental) {
    var shell = function (n) {
        var result = memo[n];
        if (typeof result !== 'number') {
            result = fundamental(shell, n);
            memo[n] = result;
        }
        return result;
    };
    return shell;
};

var fibonacci = memoizer([0, 1], function (shell, n) {
    return shell(n - 1) + shell(n - 2);
});

Вопрос : Как мы вычисляем фибоначчи (15), и если это это простой вызов fibonacci (15), тогда как он работает подробно?

Спасибо за помощь.

7
задан Max 9 October 2013 в 06:43
поделиться