Как написать функцию, которая будет выводить массив функций, которые выводят порядковый номер массива?
Все ваши функции ссылаются на одно и то же значение - i. Что бы все работало в момент определения функции надо сохранять это значение.function generateArr() {
    var arr = [];
    for (var i = 0; i < count; i++) {
        arr[i] = makeFunction(i);
    }
    return arr;
}

function makeFunction (i) {
    return function () {
        alert(i);
    }
}
приведенный мой код будет работать, так как при передаче переменной в качестве аргумента функции происходит копирования значения (ну... не совсем, там copy-on-write всякие применяются но все же суть та же).
Что бы чуть лучше читалось...function generateArr() {
    var arr;
    for(var arr = []; arr.length < 100;arr.push(null));

    return arr.map(function (_, i) {
        return function () {
           alert(i);
        }
    }
}
Спасибо большое, вроде понял суть решения задачи.
Как я понимаю, можно еще и так переписать данную ф-ию:function FunctionArray(count) {
    var arr = [], i;
    for (i = 0; i < count; i++) {
         (function(index){
              arr.push(function(){ alert(index) });
         }(i));
    }
    return arr;
}