
Разбирался с задачей. [https://jsfiddle.net/q4f3e5qj/]
```
function makeBuffer() {
var text = '';
return function(piece) {
if (arguments.length == 0) { // вызов без аргументов
return text;
}
text += piece;
};
};
var buffer = makeBuffer();
// добавить значения к буферу
buffer('Замыкания');
buffer(' Использовать');
buffer(' Нужно!');
alert( buffer() ); // 'Замыкания Использовать Нужно!'
```
Мы при вызове функции передаём параметр в виде строки. По идее этот парамент должен войти в псевдомассив arguments функции, которую мы вызываем(это makeBuffer), но в решении данной задаче arguments используеться во внутренней функции. Вопрос по параметру "piece". Я правильно понял, что он береться через замыкание у основной функции так как внутри блока он отсутствует и он являеться arguments[0] для makeBuffer?


