title: javascript closures vs class instances
body: <p>This question is more about theoretical programming rather than practic.</p>
  
  <p>I've been reading about closures in javascript. They are, to put it simply, a function with a set of variables accessible only by the function, not by copies that can be made of the function. Each function has its own <strong>var a</strong>.</p>
  
  <p>However, I see it working exactly as instances of the same class, each with its own members/properties. The method of an instance can access only the <strong>var a</strong> in that instance.</p>
  
  <p>Do closures accomplish something that OOP can't do? Or, at least, something with cleaner code, or another advantage, when using closures?</p>
  
  <p>Sorry to put that way, but I see people talking about closures as if it where one of the greatest things javascript has to offer... but I see it only as a side effect of creating a function whose scope does not vanish. Am I wrong?</p>
  
  <p><strong><em>EDIT</em></strong></p>
  
  <p>As some people think this question has only opinion based answers, I'll reword the question so that the discussion becomes concrete:</p>
  
  <p>What can closures do that cannot be done with only the OOP javascript offers?</p>