JavaScript OOP Techniques

Posted on July 7th, 2008, by Cristian in Javascript & jQuery

Although JavaScript is classless, we can still create an instantiate objects using a few different techniques. To demonstrate how to construct a JavaScript ‘class’, here are three examples below which are all essentially equivalent.

var test = new App();
var test2 = new App2();
var test3 = new App3();

Function object technique 1, returning an object containing function members.

function App() {
     // Constructor
     return {
          a : function(){
               console.log('a');
          },
          b : function(){
               console.log('b');
          }
     };
};

Function object technique 2, returning an object containing function members.

var App2 = function() {
     // Constructor
     return {
          a : function(){
               console.log('a');
          },
          b : function(){
               console.log('b');
          }
     };
};

Function object technique 3 using prototyping.

var App3 = function() {
     // Constructor
};

App3.prototype.a = function() {
     console.log('a');
};

App3.prototype.b = function() {
     console.log('b');
};

One comment

  1. Ionut Popa on April 14th, 2009 at 3:03 pm

Leave a comment

Advertise / Sponsors

Comments RSS Feed

Recent Comments

  • yuci: ok, i solved the problem, but i will search for a better one. i just noticed, hidden div doesnt show itself...
  • yuci: hey, yeah i downloaded well, and i edited a lot this application, and i can say that, it is a wonderful app....
  • Cristian: No, it’s working as I tested.
  • yuci: is link dead, or just some temporary problem? i cant download zip files.
  • Fredrik: I can’t get this to work. It seems to fail at $order->setShippingAmount( $shipping_amount +...