`Math`

object's `PI`

property has the value of pi.`Math`

object is a top-level, predefined JavaScript object. You can automatically access it without using a constructor or calling a method.
`Math`

are static. You refer to the constant PI as `Math.PI`

and you call the sine function as `Math.sin(x)`

, where `x`

is the method's argument. Constants are defined with the full precision of real numbers in JavaScript.
It is often convenient to use the `with`

statement when a section of code uses several `Math`

constants and methods, so you don't have to type "Math" repeatedly. For example,
with (Math) {

a = PI * r*r

y = r*sin(theta)

x = r*cos(theta)

}

`watch`

and `unwatch`

methods from `Object`

.
abs(x)

x |

`x`

:
function getAbs(x) {

return Math.abs(x)

}

`abs`

is a static method of `Math`

, you always use it as `Math.abs()`

, rather than as a method of a `Math`

object you created.
acos(x)

x |

`acos`

method returns a numeric value between 0 and pi radians. If the value of `number`

is outside this range, it returns `NaN`

.
Because `acos`

is a static method of `Math`

, you always use it as `Math.acos()`

, rather than as a method of a `Math`

object you created.
`x`

:
function getAcos(x) {If you pass -1 to

return Math.acos(x)

}

`getAcos`

, it returns 3.141592653589793; if you pass 2, it returns `NaN`

because 2 is out of range.
`Math.asin`

, `Math.atan`

, `Math.atan2`

, `Math.cos`

, `Math.sin`

, `Math.tan`

asin(x)

x |

`asin`

method returns a numeric value between -pi/2 and pi/2 radians. If the value of `number`

is outside this range, it returns `NaN`

.
Because `asin`

is a static method of `Math`

, you always use it as `Math.asin()`

, rather than as a method of a `Math`

object you created.
`x`

:
function getAsin(x) {If you pass

return Math.asin(x)

}

`getAsin`

the value 1, it returns 1.570796326794897 (pi/2); if you pass it the value 2, it returns `NaN`

because 2 is out of range.
`Math.acos`

, `Math.atan`

, `Math.atan2`

, `Math.cos`

, `Math.sin`

, `Math.tan`

atan(x)

x |

`atan`

method returns a numeric value between -pi/2 and pi/2 radians.
Because `atan`

is a static method of `Math`

, you always use it as `Math.atan()`

, rather than as a method of a `Math`

object you created.
`x`

:
function getAtan(x) {If you pass

return Math.atan(x)

}

`getAtan`

the value 1, it returns 0.7853981633974483; if you pass it the value .5, it returns 0.4636476090008061.
`Math.acos`

, `Math.asin`

, `Math.atan2`

, `Math.cos`

, `Math.sin`

, `Math.tan`

atan2(y,x)

y, x |

`atan2`

method returns a numeric value between -pi and pi representing the angle theta of an (`x,y`

) point. This is the counterclockwise angle, measured in radians, between the positive X axis, and the point (`x,y`

). Note that the arguments to this function pass the y-coordinate first and the x-coordinate second.
`atan2`

is passed separate `x`

and `y`

arguments, and `atan`

is passed the ratio of those two arguments.
Because `atan2`

is a static method of `Math`

, you always use it as `Math.atan2()`

, rather than as a method of a `Math`

object you created.
function getAtan2(x,y) {If you pass

return Math.atan2(x,y)

}

`getAtan2`

the values (90,15), it returns 1.4056476493802699; if you pass it the values (15,90), it returns 0.16514867741462683.
`Math.acos`

, `Math.asin`

, `Math.atan`

, `Math.cos`

, `Math.sin`

, `Math.tan`

ceil(x)

x |

`ceil`

is a static method of `Math`

, you always use it as `Math.ceil()`

, rather than as a method of a `Math`

object you created.
`x`

:
function getCeil(x) {If you pass 45.95 to

return Math.ceil(x)

}

`getCeil`

, it returns 46; if you pass -45.95, it returns -45.
`Math.floor`

cos(x)

x |

`cos`

method returns a numeric value between -1 and 1, which represents the cosine of the angle.
Because `cos`

is a static method of `Math`

, you always use it as `Math.cos()`

, rather than as a method of a `Math`

object you created.
`x`

:
function getCos(x) {If

return Math.cos(x)

}

`x`

equals 2*`Math.PI`

, `getCos`

returns 1; if `x`

equals `Math.PI`

, the `getCos`

method returns -1.
`Math.acos`

, `Math.asin`

, `Math.atan`

, `Math.atan2`

, `Math.sin`

, `Math.tan`

`E`

is a static property of `Math`

, you always use it as `Math.E`

, rather than as a property of a `Math`

object you created.
function getEuler() {

return Math.E

}

`x`

is the argument, and `E`

is Euler's constant, the base of the natural logarithms.exp(x)

x |

`exp`

is a static method of `Math`

, you always use it as `Math.exp()`

, rather than as a method of a `Math`

object you created.
`x`

:
function getExp(x) {If you pass

return Math.exp(x)

}

`getExp`

the value 1, it returns 2.718281828459045.
`Math.E`

, `Math.log`

, `Math.pow`

floor(x)

x |

`floor`

is a static method of `Math`

, you always use it as `Math.floor()`

, rather than as a method of a `Math`

object you created.
`x`

:
function getFloor(x) {If you pass 45.95 to

return Math.floor(x)

}

`getFloor`

, it returns 45; if you pass -45.95, it returns -46.
`Math.ceil`

function getNatLog10() {

return Math.LN10

}

`LN10`

is a static property of `Math`

, you always use it as `Math.LN10`

, rather than as a property of a `Math`

object you created.
function getNatLog2() {

return Math.LN2

}

`LN2`

is a static property of `Math`

, you always use it as `Math.LN2`

, rather than as a property of a `Math`

object you created.
`E`

) of a number.log(x)

x |

`number`

is negative, the return value is always `NaN`

.
Because `log`

is a static method of `Math`

, you always use it as `Math.log()`

, rather than as a method of a `Math`

object you created.
`x`

:
function getLog(x) {If you pass

return Math.log(x)

}

`getLog`

the value 10, it returns 2.302585092994046; if you pass it the value 0, it returns `-Infinity`

; if you pass it the value -1, it returns `NaN`

because -1 is out of range.
`Math.exp`

, `Math.pow`

`E`

:
function getLog10e() {

return Math.LOG10E

}

`LOG10E`

is a static property of `Math`

, you always use it as `Math.LOG10E`

, rather than as a property of a `Math`

object you created.
function getLog2e() {

return Math.LOG2E

}

`LOG2E`

is a static property of `Math`

, you always use it as `Math.LOG2E`

, rather than as a property of a `Math`

object you created.
max(x,y)

x, y |

`max`

is a static method of `Math`

, you always use it as `Math.max()`

, rather than as a method of a `Math`

object you created.
`x`

and `y`

:
function getMax(x,y) {If you pass

return Math.max(x,y)

}

`getMax`

the values 10 and 20, it returns 20; if you pass it the values -10 and -20, it returns -10.
`Math.min`

min(x,y)

x, y |

`min`

is a static method of `Math`

, you always use it as `Math.min()`

, rather than as a method of a `Math`

object you created.
`x `

and `y`

:
function getMin(x,y) {If you pass

return Math.min(x,y)

}

`getMin`

the values 10 and 20, it returns 10; if you pass it the values -10 and -20, it returns -20.
`Math.max`

function getPi() {

return Math.PI

}

`PI`

is a static property of `Math`

, you always use it as `Math.PI`

, rather than as a property of a `Math`

object you created.
`base`

to the `exponent`

power, that is, `base`

pow(x,y)

base | |

exponent |

`pow`

is a static method of `Math`

, you always use it as `Math.pow()`

, rather than as a method of a `Math`

object you created.
function raisePower(x,y) {If

return Math.pow(x,y)

}

`x`

is 7 and `y`

is 2, `raisePower`

returns 49 (7 to the power of 2).
`Math.exp`

, `Math.log`

random()

`random`

is a static method of `Math`

, you always use it as `Math.random()`

, rather than as a method of a `Math`

object you created.
//Returns a random number between 0 and 1

function getRandom() {

return Math.random()

}

round(x)

x |

`number`

is .5 or greater, the argument is rounded to the next higher integer. If the fractional portion of `number`

is less than .5, the argument is rounded to the next lower integer.
Because `round`

is a static method of `Math`

, you always use it as `Math.round()`

, rather than as a method of a `Math`

object you created.
//Returns the value 20

x=Math.round(20.49)

//Returns the value 21

x=Math.round(20.5)

//Returns the value -20

x=Math.round(-20.5)

//Returns the value -21

x=Math.round(-20.51)

sin(x)

x |

`sin`

method returns a numeric value between -1 and 1, which represents the sine of the argument.
Because `sin`

is a static method of `Math`

, you always use it as `Math.sin()`

, rather than as a method of a `Math`

object you created.
`x`

:
function getSine(x) {If you pass

return Math.sin(x)

}

`getSine`

the value `Math.PI/2`

, it returns 1.
`Math.acos`

, `Math.asin`

, `Math.atan`

, `Math.atan2`

, `Math.cos`

, `Math.tan`

sqrt(x)

x |

`number`

is negative, `sqrt`

returns `NaN`

.
Because `sqrt`

is a static method of `Math`

, you always use it as `Math.sqrt()`

, rather than as a method of a `Math`

object you created.
`x`

:
function getRoot(x) {If you pass

return Math.sqrt(x)

}

`getRoot`

the value 9, it returns 3; if you pass it the value 2, it returns 1.414213562373095.
function getRoot1_2() {

return Math.SQRT1_2

}

`SQRT1_2`

is a static property of `Math`

, you always use it as `Math.SQRT1_2`

, rather than as a property of a `Math`

object you created.
function getRoot2() {

return Math.SQRT2

}

`SQRT2`

is a static property of `Math`

, you always use it as `Math.SQRT2`

, rather than as a property of a `Math`

object you created.
tan(x)

x |

`tan`

method returns a numeric value that represents the tangent of the angle.
Because `tan`

is a static method of `Math`

, you always use it as `Math.tan()`

, rather than as a method of a `Math`

object you created.
`x`

:
function getTan(x) {

return Math.tan(x)

}

`Math.acos`

, `Math.asin`

, `Math.atan`

, `Math.atan2`

, `Math.cos`

, `Math.sin`

Table of Contents | Previous | Next | Index

*Last Updated: 05/28/99 11:59:53*

Any sample code included above is provided for your use on an "AS IS" basis, under the Netscape License Agreement - Terms of Use