1

var Singleton = (function() {
  var instance;

  function createInstance() {
    var object = new Object("I am the instance");
    return object;
  }

  return {
    getInstance: function() {
      if (!instance) {
        instance = createInstance();
      }
      return instance;
    }
  };
})();

function run() {

  var instance1 = Singleton.getInstance();
  var instance2 = Singleton.getInstance();

  alert("Same instance? " + (instance1 === instance2));
}
run();

In the above code variable instance is local to that function only and when we call "Singleton.getInstance()" . every time variable is initialized again . So how it returns the same instance.

CertainPerformance
  • 356,069
  • 52
  • 309
  • 320

0 Answers0