# Функция - строковый буфер
[importance 5]
В некоторых языках программирования существует объект "строковый буфер", который аккумулирует внутри себя значения. Его функционал состоит из двух возможностей:
- Добавить значение в буфер.
- Получить текущее содержимое.
**Задача -- реализовать строковый буфер на функциях в JavaScript, со следующим синтаксисом:**
- Создание объекта: `var buffer = makeBuffer();`.
- Вызов `makeBuffer` должен возвращать такую функцию `buffer`, которая при вызове `buffer(value)` добавляет значение в некоторое внутреннее хранилище, а при вызове без аргументов `buffer()` -- возвращает его.
Вот пример работы:
```js
function makeBuffer() { /* ваш код */ }
var buffer = makeBuffer();
// добавить значения к буферу
buffer('Замыкания');
buffer(' Использовать');
buffer(' Нужно!');
// получить текущее значение
alert( buffer() ); // Замыкания Использовать Нужно!
```
Буфер должен преобразовывать все данные к строковому типу:
```js
var buffer = makeBuffer();
buffer(0); buffer(1); buffer(0);
alert( buffer() ); // '010'
```
Решение не должно использовать глобальные переменные.