Revision: 24022
Updated Code
at February 18, 2010 16:14 by alvincrespo
Updated Code
/*
Author: Alvin Crespo
Topic: OOP in Javascript
Reference: Javascript "The Definitive Reference" by David Flanagan
NOTES:
* Javascript does not support TRUE classes like Java, C++ and C# do.
* It is possible to define pseudoclasses in Javascript.
A Constructor Method:
new Object ()
Object from Constructors:
var array = new Array(12);
var today = new Date();
* NEW operator must be followed by the invocation of a function
* Function that is designed to be used with the NEW operator is called a constructor
* Purpose of the constructor is to initialize a new object
*/
//Constructor Method
//*************************************************************************
//Define the constructor
function Square(objectW,objectH){
//initializes by using the keyword THIS
this.width = objectW;
this.height = objectH;
//this is how to add a method to a constructor
this.area = function(){ console.log("Area as a property/function of Square: " + (this.width * this.height)); }
//The above area function works but is not optimal, because each Square will the area as a property
//no return statement
}
//Invoking the constructor to create Square objects
//square1 = {width:2, height:4}
var square1 = new Square(5,10);
//calling a constructors method
var sqArea1 = square1.area();
/*
About Prototype Object
----------------------------
* Every javascript object includes an internal reference to
another object, known as a prototype object
*/
//creating a prototype
Square.prototype.LargerSide = function(){
var result = '';
//inheritance is automatic as part of the process of looking up a property value, thus
// width and height can be used
if(this.width > this.height){
result = "Width is Larger";
}else if(this.width == this.height){
result = "Width and Height are the same";
}else{
result = "Height is Larger";
}
console.log("Area as a prototype/function of Square: " + result);
}//end of LargerSide prototype for Square
square1.LargerSide();
//*************************************************************************
Revision: 24021
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 18, 2010 16:10 by alvincrespo
Initial Code
/*
Author: Alvin Crespo
Topic: OOP in Javascript
Reference: Javascript "The Definitive Reference" by David Flanagan
NOTES:
* Javascript does not support TRUE classes like Java, C++ and C# do.
* It is possible to define pseudoclasses in Javascript.
An Object Literal:
new Object ()
Object Literals:
var array = new Array(12);
var today = new Date();
* NEW operator must be followed by the invocation of a function
* Function that is designed to be used with the NEW operator is called a constructor
* Purpose of the constructor is to initialize a new object
*/
//Object Literal
//Define the constructor
function Square(objectW,objectH){
//initializes by using the keyword THIS
this.width = objectW;
this.height = objectH;
//this is how to add a method to a constructor
this.area = function(){ console.log("Area as a property/function of Square: " + (this.width * this.height)); }
//The above area function works but is not optimal, because each Square will the area as a property
//no return statement
}
//Invoking the constructor to create Square objects
//square1 = {width:2, height:4}
var square1 = new Square(5,10);
//calling a constructors method
var sqArea1 = square1.area();
/*
About Prototype Object
----------------------------
* Every javascript object includes an internal reference to
another object, known as a prototype object
*/
//creating a prototype
Square.prototype.LargerSide = function(){
var result = '';
//inheritance is automatic as part of the process of looking up a property value, thus
// width and height can be used
if(this.width > this.height){
result = "Width is Larger";
}else if(this.width == this.height){
result = "Width and Height are the same";
}else{
result = "Height is Larger";
}
console.log("Area as a prototype/function of Square: " + result);
}//end of LargerSide prototype for Square
square1.LargerSide();
Initial URL
Initial Description
This is a simple example of OOP in Javascript, based off the highly popular Javascript "The Definitive Guide" book by David Flanagan. I will be expanding this example in the future, let me know what you'd like to see. Thanks! Note: You must have firebug for firefox to see the results of console.log()
Initial Title
Javascript OOP Example (Constructor Version)
Initial Tags
javascript, js
Initial Language
JavaScript