Understanding Closures in Javascript

This example shows how you create a closure which uses an alert function that can be incremented and reused/passed around.

var closureAlert = function() {
  var x = 0;
  var alerter = function() {
    alert(++x);
  }
  return alerter;
}

var funcStorer = closureAlert(); // reference to alerter();
var funcStorer2 = closureAlert(); // second seperate reference to alerter();