Понимание замыканий в Javascript

Я пытаюсь осмыслить замыкания в Javascript.

Вот пример из учебного пособия:

function greeter(name, age) {
  var message = name + ", who is " + age + " years old, says hi!";

  return function greet() {
    console.log(message);
  };
}

// Generate the closure
var bobGreeter = greeter("Bob", 47);

// Use the closure
bobGreeter();

Автор сказал, что это эффективный способ использования замыканий для создания частных переменных, но я не понимаю сути.

Может ли кто-нибудь рассказать о преимуществах подобного кодирования?

7
задан never_had_a_name 11 October 2010 в 01:49
поделиться