Over a million developers have joined DZone.

Quick tip: How to get started quickly with OOP-like coding style in JavaScript?

· Web Dev Zone

Easily build powerful user management, authentication, and authorization into your web and mobile applications. Download this Forrester report on the new landscape of Customer Identity and Access Management, brought to you in partnership with Stormpath.

Writing JavaScript code in OOP style is something which is actively promoted in the last few years...

How to get started quickly with simple and straight forward example? Look at this one:

var Hobbit = function(name){
   this.Name = name;
   var steps = 0;  
   this.Run = function(speed, distance){
      //hobbit running algorithm goes here
      while(steps < distance){ 
        console.log(steps); //for debugging purpose only
        steps+=speed;
      }
   }
}

//all members containing this keyword are public members. Therefore we have one property Name which is public, and function/method Run accepting two parameters speed and distance, which is also public. See the usage bellow. 

//implementation

var frodo = new Hobbit("Frodo");
console.log(frodo.Name); //prints "Frodo"

//you can call the Run function/method too

frodo.Run(10, 2000); //prints all the iterations inside 'while' with the current 'steps' value

...and yes, you can create new closed 'things' representations, instantiate one inside other and do entire way of OOP-like development. 

I'm sure this was pretty straight forward, simple and easy to understand.

Happy Coding!
Hajan



The Web Dev Zone is brought to you by Stormpath—offering a complete, pre-built User Management API for building web and mobile applications, and APIs. Download our new whitepaper: "Build Versus Buy: Customer Identity Management for Web and Mobile Applications".

Topics:

Published at DZone with permission of Hajan Selmani , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}