**JavaScript's built-in objects:**

JavaScript supports number of built-in objects that extend the flexibility of the language. These objects are Date, Math, String, Array, and Object. Several of these objects are "borrowed" from the Java language specification, but JavaScript's implementation of them is different.

The JavaScript object model is a simple one. The bulk of these objects deal with window content -- documents, links, forms, and so forth. In addition to window-content objects, JavaScript supports a small handful of "built-in" objects. These built-in objects are available regardless of window content and operate independently of whatever page your browser has loaded.

**1. JavaScript String Object:**

Of all JavaScript's objects, the String object is the most commonly used.

The String object is used to manipulate a stored piece of text.

**Examples of use:**

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

```
var txt="Hello world!"
document.write(txt.length)
```

The code above will result in the following output:

```
12
```

The following example uses the toUpperCase() method of the String object to convert a string to uppercase letters:

```
var txt="Hello world!"
document.write(txt.toUpperCase())
```

The code above will result in the following output:

```
HELLO WORLD!
```

**2. JavaScript Date Object:**

The Date object is used to work with dates and times.

We define a Date object with the new keyword. The following code line defines a Date object called myDate:

```
var myDate=new Date()
```

The Date object will automatically hold the current date and time as its initial value!

**Manipulate Dates**

We can easily manipulate the date by using the methods available for the Date object.

In the example below we set a Date object to a specific date (14th January 2010):

```
var myDate=new Date()
myDate.setFullYear(2010,0,14)
```

And in the following example we set a Date object to be 5 days into the future:

```
`enter code here`var myDate=new Date()
myDate.setDate(myDate.getDate()+5)
```

:If adding five days to a date shifts the month or year, the changes are handled automatically by the Date object itself!

**Comparing Dates**

The Date object is also used to compare two dates.

The following example compares today's date with the 14th January 2010:

```
var myDate=new Date()
myDate.setFullYear(2010,0,14)
var today = new Date()
if (myDate>today)
alert("Today is before 14th January 2010")
else
alert("Today is after 14th January 2010")
```

**3. JavaScript Array Object**

The Array object is used to store a set of values in a single variable name.

We define an Array object with the new keyword. The following code line defines an Array object called myArray:

```
var myArray=new Array()
```

There are two ways of adding values to an array (you can add as many values as you need to define as many variables you require).

1:

```
`enter code here`var mycars=new Array()
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]="BMW"
```

You could also pass an integer argument to control the array's size:

```
var mycars=new Array(3)
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]="BMW"
```

2:

```
var mycars=new Array("Saab","Volvo","BMW")
```

If you specify numbers or true/false values inside the array then the type of variables will be numeric or Boolean instead of string.

**Accessing Arrays**

You can refer to a particular element in an array by referring to the name of the array and the index number. The index number starts at 0.

The following code line:

```
document.write(mycars[0])
```

will result in the following output:

```
Saab
```

**Modify Values in Existing Arrays**

To modify a value in an existing array, just add a new value to the array with a specified index number:

```
mycars[0]="Opel"
```

Now, the following code line:

```
document.write(mycars[0])
```

will result in the following output:

```
Opel
```

**4. JavaScript Boolean Object:**

The Boolean object is an object wrapper for a Boolean value . The Boolean object is used to convert a non-Boolean value to a Boolean value (true or false).

We define a Boolean object with the new keyword. The following code line defines a Boolean object called myBoolean:

```
var myBoolean=new Boolean()
```

If the Boolean object has no initial value or if it is 0, -0, null, "", false, undefined, or NaN, the object is set to false. Otherwise it is true (even with the string "false")!

All the following lines of code create Boolean objects with an initial value of false:

```
var myBoolean=new Boolean()
var myBoolean=new Boolean(0)
var myBoolean=new Boolean(null)
var myBoolean=new Boolean("")
var myBoolean=new Boolean(false)
var myBoolean=new Boolean(NaN)
```

And all the following lines of code create Boolean objects with an initial value of true:

```
var myBoolean=new Boolean(true)
var myBoolean=new Boolean("true")
var myBoolean=new Boolean("false")
var myBoolean=new Boolean("Richard")
```

**5. JavaScript Math Object:**

The Math object allows you to perform common mathematical tasks.

The Math object includes several mathematical values and functions. You do not need to define the Math object before using it.

**Mathematical Values**

JavaScript provides eight mathematical values (constants) that can be accessed from the Math object. These are: E, PI, square root of 2, square root of 1/2, natural log of 2, natural log of 10, base-2 log of E, and base-10 log of E.

You may reference these values from your JavaScript like this:

```
Math.E
Math.PI
Math.SQRT2
Math.SQRT1_2
Math.LN2
Math.LN10
Math.LOG2E
Math.LOG10E
```

**Mathematical Methods**

In addition to the mathematical values that can be accessed from the Math object there are also several functions (methods) available.

**Examples of functions (methods):**

The following example uses the round() method of the Math object to round a number to the nearest integer:

```
document.write(Math.round(4.7))
```

The code above will result in the following output:

```
5
```

enter code here

The following example uses the random() method of the Math object to return a random number between 0 and 1:

```
document.write(Math.random())
```

The code above can result in the following output:

```
0.13251054050929345
```

The following example uses the floor() and random() methods of the Math object to return a random number between 0 and 10:

```
document.write(Math.floor(Math.random()*11))
```

The code above can result in the following output:

```
3
```