JS - Closures - Basic usage

by Zacc206

HTML

<div id="console-log"></div>

JavaScript

console = {
    log: function (text) {
    		var consoleLine = document.createElement('div');
    		consoleLine.innerHTML = text;
        document.getElementById("console-log").appendChild(consoleLine);
    }
};

function Enumerator(){
	// Variable is initialized to 0 when function is executed
	var count = 0
  	, tick = function(){
    	count++;
      return count;
    };
  // Public access is made available to internal function
  return{
  	tick: tick
  };
};

// Object is created from function call
var enumerator = Enumerator();

// Local variable 'count' is kept alive after initial function call and can be 
// manipulated by accessing an method inside containing function
console.log(enumerator.tick());
console.log(enumerator.tick());
console.log(enumerator.tick());