Я привык использовать bind
для запоминания последнего результата функции и отслеживания, чтобы иметь возможность использовать последний результат для следующего результата. Например, чтобы Concat или присоединиться к последней строки на новую строку без использования внешних переменных:Лучший/эффективный способ запоминания последнего результата функции
function remStr(outStr){
return function c(lastStr,newStr){
if(!newStr)return lastStr;
var all = lastStr+newStr;
return c.bind(null,all);
}.bind(null,outStr);
}
var str = remStr('stack');
str = str('over');
str = str('flow');
str(); // stackoverflow
Проблема заключается в том, что я хочу назвать remStr
несколько раз и так bind
вступил в игру. Но можно ли это сделать лучше или иначе, может быть, получается, что для одного случая подход выполняет задачу лучше, чем remStr
?
Как вы хотите, чтобы вызвать функцию? Показать это –
Вы _completely_ недоразумение 'bind()'. Прочтите документацию. – SLaks
Можете ли вы использовать переменную сеанса? – Sizons