Здравствуйте!Помогите разобраться правильно ли я понял замыкания!
Оцените кто-нибудь код:
function makePhrase(phrase) {
return function(name) {
return phrase + ', ' + name;
}
}
var phraseHi = makePhrase('Привет');
var phraseBye = makePhrase('Пока');
alert(phraseHi('Джек'));
alert(phraseBye('Джек'));
Мое понимание:
Функции phraseHi и phraseBye - это примеры замыканий!Эти функции делят одно определение тела функции, но сохраняют различные окружения.В окружении функции phraseHi аргумент phrase имеет значение 'Привет', а в окружении phraseBye phrase
- это 'Пока'.
Заранее спасибо всем за комментарии!