## EXAMPLE OF CLOSURES

by nickadeemus2002

HTML

<h1>Closure Examples</h1>

JavaScript

function sayHello(name) {
  //hello string   
  var text = 'Hello ' + name;  
  //INNER METHOD
  var sayAlert = function() { 
      //text is defined in OUTER() 
      alert(text); 
  }
  //INVOKE INNER METHOD
  sayAlert();
}
sayHello("chris");


function sayHello2(name) {
  //hello string
  var text = 'Hello ' + name; 
  //INNER METHOD
  var sayAlert = function() { alert(text); }
  //return INNER METHOD
  return sayAlert;
}
//assing method to local var
var sayHi = sayHello2('Kayla');
sayHi();


function say667() {
  // Local variable that ends up within closure
  var num = 666;
  var sayAlert = function() { alert(num); }
  //change value before returning inner func
  num++;
  return sayAlert;
}

var sayIt = say667();
sayIt();