DAY - 13
JavaScript - Objects Overview
Ø JavaScript is an Object Oriented Programming (OOP)
language. A programming language can be called object-oriented if it provides
four basic capabilities to developers −
1.
Encapsulation − the capability to store related information,
whether data or methods, together in an object.
2.
Aggregation − the capability to store one object inside
another object.
3.
Inheritance − the capability of a class to rely upon another
class (or number of classes) for some of its properties and methods.
4.
Polymorphism − the capability to write one function or method
that works in a variety of different ways.
Ø Objects are composed of attributes. If an attribute
contains a function, it is considered to be a method of the object, otherwise
the attribute is considered a property.
Object Properties
Ø Object properties can be any of the three primitive
data types, or any of the abstract data types, such as another object.
Ø Object properties are usually variables that are used
internally in the object's methods, but can also be globally visible variables
that are used throughout the page.
Ø The syntax for adding a property to an object is −
objectName.objectProperty=propertyValue;
For example,the following
code gets the document title using the "title"property of the document object.
varstr=document.title;
Object Methods
Ø Methods are the functions that let the object do
something or let something be done to it.
Ø There is a small difference between a function and a
method – at a function is a standalone unit of statements and a method is
attached to an object and can be referenced by the this keyword.
Ø Methods are useful for everything from displaying the
contents of the object to the screen to performing complex mathematical
operations on a group of local properties and parameters.
Ø Following is a simple example to show how to use
the write() method of
document object to write any content on the document.
document.write("This is test");
User-Defined Objects
Ø All user-defined objects and built-in objects are
descendants of an object called Object.
Ø The new Operator
Ø The new operator
is used to create an instance of an object. To create an object, the new operator is followed by the
constructor method.
Ø In the following example, the constructor methods are
Object(), Array(), and Date(). These constructors are built-in JavaScript
functions.
var employee =newObject();
var books =newArray("C++","Perl","Java");
var day =newDate("August 15, 1947");
The Object() Constructor
Ø A constructor is a function that creates and
initializes an object. JavaScript provides a special constructor function
called Object() to build
the object. The return value of the Object() constructor
is assigned to a variable.
Ø The variable contains a reference to the new object.
The properties assigned to the object are not variables and are not defined
with the var keyword.
Ø The following example demonstrates how to create an
Object.
<html>
<head>
<title>User-defined objects</title>
<script type="text/javascript">
var book =newObject();// Create the object
book.subject="Perl";// Assign properties to
the object
book.author="Mohtashim";
</script>
</head>
<body>
<script type="text/javascript">
document.write("Book name is : "+book.subject+"<br>");
document.write("Book author is : "+book.author+"<br>");
</script>
</body>
</html>
Output
Book name is : Perl
Book author is :Mohtashim
Ø This example demonstrates how to create an object with
a User-Defined Function. Here this keyword
is used to refer to the object that has been passed to a function.
<html>
<head>
<title>User-defined objects</title>
<script type="text/javascript">
function book(title, author){
this.title= title;
this.author= author;
}
</script>
</head>
<body>
<script type="text/javascript">
varmyBook=new book("Perl","Mohtashim");
document.write("Book title is : "+myBook.title+"<br>");
document.write("Book author is : "+myBook.author+"<br>");
</script>
</body>
</html>
Output
Book title is : Perl
Book author is :Mohtashim
Defining Methods for an Object
Ø The previous examples demonstrate how the constructor
creates the object and assigns properties. But we need to complete the definition
of an object by assigning methods to it.
Ø The following example shows how to add a function
along with an object.
<html>
<head>
<title>User-defined objects</title>
<scripttype="text/javascript">
// Define a function which will
work as a method
functionaddPrice(amount){
this.price= amount;
}
function book(title, author){
this.title= title;
this.author= author;
this.addPrice=addPrice;// Assign that method as
property.
}
</script>
</head>
<body>
<script type="text/javascript">
varmyBook=new book("Perl","Mohtashim");
myBook.addPrice(100);
document.write("Book title is : "+myBook.title+"<br>");
document.write("Book author is : "+myBook.author+"<br>");
document.write("Book price is : "+myBook.price+"<br>");
</script>
</body>
</html>
Output
Book title is : Perl
Book author is :Mohtashim
Book price is : 100
The 'with' Keyword
Ø The ‘with’ keyword
is used as a kind of shorthand for referencing an object's properties or
methods.
Ø The object specified as an argument to with becomes the default object
for the duration of the block that follows. The properties and methods for the
object can be used without naming the object.
Ø The syntax for with object is as follows −
with(object){
properties used without the object name and dot
}
Ø Example
<html>
<head>
<title>User-defined objects</title>
<script type="text/javascript">
// Define a function which will
work as a method
functionaddPrice(amount){
with(this){
price= amount;
}
}
function book(title, author){
this.title= title;
this.author= author;
this.price=0;
this.addPrice = addPrice; // Assign that method as
property.
}
</script>
</head>
<body>
<script type="text/javascript">
varmyBook=new book("Perl","Mohtashim");
myBook.addPrice(100);
document.write("Book title is : "+myBook.title+"<br>");
document.write("Book author is : "+myBook.author+"<br>");
document.write("Book price is : "+myBook.price+"<br>");
</script>
</body>
</html>
Output
Book title is : Perl
Book author is :Mohtashim
Book price is : 100
JavaScript Native Objects
Ø JavaScript has several built-in or native objects.
These objects are accessible anywhere in your program and will work the same
way in any browser running in any operating system.
Ø Here is the list of all important JavaScript Native
Objects −
No comments:
Post a Comment
Give your valuable feedback