JavaScript Objects

## JS Basic

JS HOME JS Introduction JS How To JS Output JS Statements JS Comments JS Variables JS Data Types JS Objects JS Functions JS Operators JS Comparisons JS Conditions JS Switch JS Loop For JS Loop While JS Breaks JS Errors JS Validation

## JS Advanced

JS Object JS Number JS String JS Date JS Array JS Boolean JS Math JS RegExp

## JS HTML DOM

DOM Intro DOM Methods DOM Document DOM Elements DOM HTML DOM CSS DOM Events DOM Navigation DOM Nodes DOM Nodelist

## JS Browser BOM

JS Window JS Screen JS Location JS History JS Navigator JS PopupAlert JS Timing JS Cookies

## JS Libraries

JS Libraries JS jQuery JS Prototype

## JS Examples

JS Basic Examples JS Objects Examples JS DOM Examples JS HTML Examples JS Browser Examples JS Quiz JS Certificate JS Summary

## JS References

Javascript Objects HTML DOM Objects

# JavaScript Objects

« Previous
Next Chapter »

"Everything" in JavaScript is an Object.

In addition, JavaScript allows you to define your own objects.

## Everything is an Object

In JavaScript almost everything is an object. Even primitive datatypes (except null and undefined) can be treated as objects.

- Booleans can be objects or primitive data treated as objects
- Numbers can be objects or primitive data treated as objects
- Strings are also objects or primitive data treated as objects
- Dates are always objects
- Maths and Regular Expressions are always objects
- Arrays are always objects
- Even functions are always objects

## JavaScript Objects

An object is just a special kind of data, with properties and methods.

## Accessing Object Properties

Properties are the values associated with an object.

The syntax for accessing the property of an object is:

objectName.propertyName

This example uses the length property of the String object to find the length of a string:

var message="Hello World!";
var x=message.length;

The value of x, after execution of the code above will be:

12

## Accessing Objects Methods

Methods are the actions that can be performed on objects.

You can call a method with the following syntax:

objectName.methodName()

This example uses the toUpperCase() method of the String object, to convert a text to uppercase:

var message="Hello world!";
var x=message.toUpperCase();

The value of x, after execution of the code above will be:

HELLO WORLD!

## Creating JavaScript Objects

With JavaScript you can define and create your own objects.

There are 2 different ways to create a new object:

- 1. Define and create a direct instance of an object.
- 2. Use a function to define an object, then create new object instances.

## Creating a Direct Instance

The following example creates a new instance of an object, and adds four properties to it:

## Example

person=new Object();
person.firstname="John";
person.lastname="Doe";
person.age=50;
person.eyecolor="blue";
Try it yourself »

Alternative syntax (using object literals):

## Example

person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
Try it yourself »

## Using an Object Constructor

The following example uses a function to construct the object:

## Example

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}
Try it yourself »

The reason for all the "this" stuff is that you're going to have more than one person at a time (which person you're dealing with must be clear). That's what "this" is: the instance of the object at hand.

## Creating JavaScript Object Instances

Once you have a object constructor, you can create new instances of the object, like this:

var myFather=new person("John","Doe",50,"blue");
var myMother=new person("Sally","Rally",48,"green");

## Adding Properties to JavaScript Objects

You can add new properties to an existing object by simply giving it a value.

Assume that the person object already exists - you can then give it new properties:

person.nationality="English";
x=person.nationality;

The value of x, after execution of the code above will be:

English

## Adding Methods to JavaScript Objects

Methods are just functions attached to objects.

Defining methods to an object is done inside the constructor function:

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
this.changeName=changeName;
function changeName(name)
{
this.lastname=name;
}
}

The changeName() function assigns the value of name to the person's lastname property.

## Now You Can Try:

myMother.changeName("Doe");
Try it yourself »

JavaScript knows which person you are talking about by "substituting" this with myMother.

## JavaScript Classes

JavaScript is an object oriented language, but JavaScript does not use classes.

In JavaScript you don’t define classes and create objects from these classes (as in most other object oriented languages).

JavaScript is prototype based, not class based.

## JavaScript for...in Loop

The JavaScript for...in statement loops through the properties of an object.

### Syntax

for (variable in object)
{
code to be executed
}

Note: The block of code inside of the for...in loop will be executed once for each property.

### Example

Looping through the properties of an object:

## Example

var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
txt=txt + person[x];
}
Try it yourself »
« Previous
Next Chapter »

## Your suggestion:

Your E-mail (optional):

Page address:

Description:

Close [X]

## Thank You For Helping Us!

Your message has been sent to W3Schools.

Close [X]
Search w3schools.com:

## WEB HOSTING

Best Web Hosting UK Reseller Hosting Wow! $5 SSD Hosting

## WEB BUILDING

Download XML Editor
FREE Website BUILDER FREE Website Creator

## WEB RESOURCES

Web Statistics Web Validation

## SHARE THIS PAGE