Пару дней назад задавал этот же вопрос
Самому не понятна логика работы скрипта, хотя сама суть работы ясна.
Я привык что функция должна явно вызываться в скрипте.
makeBuffer();
И если такого вызова нет, то внутренняя часть функции остается недоступной.
Вот эта строчка:
var buffer = makeBuffer();
сбивала с толку
Это присвоение
результата выполнения функции makeBuffer(), а не присвоение функции makeBuffer().