title: How JavaScript does OOP?
body: <p>I am learning about creating objects in JavaScript. When I do this ...</p>
  
  <pre><code>var Person = {
     name: "John Doe", 
     sayHi: function() {
     alert("Hi");
     }
  };
  </code></pre>
  
  <p>I know that I am creating an instance of a Person class, but I do not know how (or if) I can reuse that class to create another instance. What OOP features does JavaScript has? Does it have the same OO features as other languages such as Java, or Ruby? Can someone please explain how JavaScript does OOP?</p>