iam
3/21/2018 - 10:58 AM

JS IIFE Template

var counter = (function() {
  var i = 0;

  return {
    get: function(){
      return i;
    },
    set: function( val ){
      i = val;
    },
    increment: function() {
      return ++i;
    }
  };
})();

console.log(counter.get()); // 0
counter.set(3);
console.log(counter.increment()); // 4
console.log(counter.increment()); // 5

console.log(counter.i); // undefined
i; // ReferenceError: i is not defined