Previous Contents Index Next
Core JavaScript Reference 1.5

> Math

> A built-in object that has properties and methods for mathematical constants and functions. For example, the Math object's PI property has the value of pi.

> Core object
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

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

> Description
> All properties and methods of 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)
> }

> Property Summary

> Property | Description
> --- | ---
> E | Euler's constant and the base of natural logarithms, approximately 2.718.
> LN2 | Natural logarithm of 2, approximately 0.693.
> LN10 | Natural logarithm of 10, approximately 2.302.
> LOG2E | Base 2 logarithm of E (approximately 1.442).
> LOG10E | Base 10 logarithm of E (approximately 0.434).
> PI | Ratio of the circumference of a circle to its diameter, approximately 3.14159.
> SQRT1_2 | Square root of 1/2; equivalently, 1 over the square root of 2, approximately 0.707.
> SQRT2 | Square root of 2, approximately 1.414.

> Method Summary

> Method | Description
> --- | ---
> abs | Returns the absolute value of a number.
> acos | Returns the arccosine (in radians) of a number.
> asin | Returns the arcsine (in radians) of a number.
> atan | Returns the arctangent (in radians) of a number.
> atan2 | Returns the arctangent of the quotient of its arguments.
> ceil | Returns the smallest integer greater than or equal to a number.
> cos | Returns the cosine of a number.
> exp | Returns Enumber, where number is the argument, and E is Euler's constant, the base of the natural logarithms.
> floor | Returns the largest integer less than or equal to a number.
> log | Returns the natural logarithm (base E) of a number.
> max | Returns the greater of two numbers.
> min | Returns the lesser of two numbers.
> pow | Returns base to the exponent power, that is, base exponent.
> random | Returns a pseudo-random number between 0 and 1.
> round | Returns the value of a number rounded to the nearest integer.
> sin | Returns the sine of a number.
> sqrt | Returns the square root of a number.
> tan | Returns the tangent of a number.

> In addition, this object inherits the watch and unwatch methods from Object.

> abs

> Returns the absolute value of a number.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> abs(x)

> Parameters

> x | A number

> Examples
> The following function returns the absolute value of the variable x:

> function getAbs(x) {
> return Math.abs(x)
> }

> Description
> Because 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

> Returns the arccosine (in radians) of a number.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> acos(x)

> Parameters

> x | A number

> Description
> The 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.

> Examples
> The following function returns the arccosine of the variable x:

> function getAcos(x) {
> return Math.acos(x)
> }

> If you pass -1 to getAcos, it returns 3.141592653589793; if you pass 2, it returns NaN because 2 is out of range.

> See also
> Math.asin, Math.atan, Math.atan2, Math.cos, Math.sin, Math.tan

> asin

> Returns the arcsine (in radians) of a number.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> asin(x)

> Parameters

> x | A number

> Description
> The 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.

> Examples
> The following function returns the arcsine of the variable x:

> function getAsin(x) {
> return Math.asin(x)
> }

> If you pass 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.

> See also
> Math.acos, Math.atan, Math.atan2, Math.cos, Math.sin, Math.tan

> atan

> Returns the arctangent (in radians) of a number.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> atan(x)

> Parameters

> x | A number

> Description
> The 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.

> Examples
> The following function returns the arctangent of the variable x:

> function getAtan(x) {
> return Math.atan(x)
> }

> If you pass getAtan the value 1, it returns 0.7853981633974483; if you pass it the value .5, it returns 0.4636476090008061.

> See also
> Math.acos, Math.asin, Math.atan2, Math.cos, Math.sin, Math.tan

> atan2

> Returns the arctangent of the quotient of its arguments.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> atan2(y, x)

> Parameters

> y, x | Number

> Description
> The 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.

> Examples
> The following function returns the angle of the polar coordinate:

> function getAtan2(x,y) {
> return Math.atan2(x,y)
> }

> If you pass getAtan2 the values (90,15), it returns 1.4056476493802699; if you pass it the values (15,90), it returns 0.16514867741462683.

> See also
> Math.acos, Math.asin, Math.atan, Math.cos, Math.sin, Math.tan

> ceil

> Returns the smallest integer greater than or equal to a number.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> ceil(x)

> Parameters

> x | A number

> Description
> Because 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.

> Examples
> The following function returns the ceil value of the variable x:

> function getCeil(x) {
> return Math.ceil(x)
> }

> If you pass 45.95 to getCeil, it returns 46; if you pass -45.95, it returns -45.

> See also
> Math.floor

> cos

> Returns the cosine of a number.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> cos(x)

> Parameters

> x | A number

> Description
> The 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.

> Examples
> The following function returns the cosine of the variable x:

> function getCos(x) {
> return Math.cos(x)
> }

> If x equals 2*Math.PI, getCos returns 1; if x equals Math.PI, the getCos method returns -1.

> See also
> Math.acos, Math.asin, Math.atan, Math.atan2, Math.sin, Math.tan

> E

> Euler's constant and the base of natural logarithms, approximately 2.718.

> Property of | Math
> Static, Read-only
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Description
> Because 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.

> Examples
> The following function returns Euler's constant:

> function getEuler() {
> return Math.E
> }

> exp

> Returns Ex, where x is the argument, and E is Euler's constant, the base of the natural logarithms.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> exp(x)

> Parameters

> x | A number

> Description
> Because 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.

> Examples
> The following function returns the exponential value of the variable x:

> function getExp(x) {
> return Math.exp(x)
> }

> If you pass getExp the value 1, it returns 2.718281828459045.

> See also
> Math.E, Math.log, Math.pow

> floor

> Returns the largest integer less than or equal to a number.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> floor(x)

> Parameters

> x | A number

> Description
> Because 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.

> Examples
> The following function returns the floor value of the variable x:

> function getFloor(x) {
> return Math.floor(x)
> }

> If you pass 45.95 to getFloor, it returns 45; if you pass -45.95, it returns -46.

> See also
> Math.ceil

> LN2

> The natural logarithm of 2, approximately 0.693.

> Property of | Math
> Static, Read-only
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Examples
> The following function returns the natural log of 2:

> function getNatLog2() {
> return Math.LN2
> }

> Description
> Because 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.

> LN10

> The natural logarithm of 10, approximately 2.302.

> Property of | Math
> Static, Read-only
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Examples
> The following function returns the natural log of 10:

> function getNatLog10() {
> return Math.LN10
> }

> Description
> Because 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.

> log

> Returns the natural logarithm (base E) of a number.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> log(x)

> Parameters

> x | A number

> Description
> If the value of 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.

> Examples
> The following function returns the natural log of the variable x:

> function getLog(x) {
> return Math.log(x)
> }

> If you pass 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.

> See also
> Math.exp, Math.pow

> LOG2E

> The base 2 logarithm of E (approximately 1.442).

> Property of | Math
> Static, Read-only
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Examples
> The following function returns the base 2 logarithm of E:

> function getLog2e() {
> return Math.LOG2E
> }

> Description
> Because 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.

> LOG10E

> The base 10 logarithm of E (approximately 0.434).

> Property of | Math
> Static, Read-only
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Examples
> The following function returns the base 10 logarithm of E:

> function getLog10e() {
> return Math.LOG10E
> }

> Description
> Because 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.

> max

> Returns the larger of two numbers.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> max(x,y)

> Parameters

> x, y | Numbers.

> Description
> Because 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.

> Examples
> The following function evaluates the variables x and y:

> function getMax(x,y) {
> return Math.max(x,y)
> }

> If you pass getMax the values 10 and 20, it returns 20; if you pass it the values -10 and -20, it returns -10.

> See also
> Math.min

> min

> Returns the smaller of two numbers.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> min(x,y)

> Parameters

> x, y | Numbers

> Description
> Because 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.

> Examples
> The following function evaluates the variables x and y:

> function getMin(x,y) {
> return Math.min(x,y)
> }

> If you pass getMin the values 10 and 20, it returns 10; if you pass it the values -10 and -20, it returns -20.

> See also
> Math.max

> PI

> The ratio of the circumference of a circle to its diameter, approximately 3.14159.

> Property of | Math
> Static, Read-only
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Examples
> The following function returns the value of pi:

> function getPi() {
> return Math.PI
> }

> Description
> Because 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.

> pow

> Returns base to the exponent power, that is, baseexponent.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> pow(x,y)

> Parameters

> base | The base number
> exponent | The exponent to which to raise base

> Description
> Because 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.

> Examples
> function raisePower(x,y) {
> return Math.pow(x,y)
> }

> If x is 7 and y is 2, raisePower returns 49 (7 to the power of 2).

> See also
> Math.exp, Math.log

> random

> Returns a pseudo-random number between 0 and 1. The random number generator is seeded from the current time, as in Java.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0: Unix only JavaScript 1.1, NES 2.0: all platforms
> ECMA version | ECMA-262

> Syntax
> random()

> Parameters
> None.

> Description
> Because 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.

> Examples
> //Returns a random number between 0 and 1
> function getRandom() {
> return Math.random()
> }

> round

> Returns the value of a number rounded to the nearest integer.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> round(x)

> Parameters

> x | A number

> Description
> If the fractional portion of 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.

> Examples
> //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

> Returns the sine of a number.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> sin(x)

> Parameters

> x | A number

> Description
> The 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.

> Examples
> The following function returns the sine of the variable x:

> function getSine(x) {
> return Math.sin(x)
> }

> If you pass getSine the value Math.PI/2, it returns 1.

> See also
> Math.acos, Math.asin, Math.atan, Math.atan2, Math.cos, Math.tan

> sqrt

> Returns the square root of a number.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> sqrt(x)

> Parameters

> x | A number

> Description
> If the value of 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.

> Examples
> The following function returns the square root of the variable x:

> function getRoot(x) {
> return Math.sqrt(x)
> }

> If you pass getRoot the value 9, it returns 3; if you pass it the value 2, it returns 1.414213562373095.

> SQRT1_2

> The square root of 1/2; equivalently, 1 over the square root of 2, approximately 0.707.

> Property of | Math
> Static, Read-only
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Examples
> The following function returns 1 over the square root of 2:

> function getRoot1_2() {
> return Math.SQRT1_2
> }

> Description
> Because 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.

> SQRT2

> The square root of 2, approximately 1.414.

> Property of | Math
> Static, Read-only
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Examples
> The following function returns the square root of 2:

> function getRoot2() {
> return Math.SQRT2
> }

> Description
> Because 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

> Returns the tangent of a number.

> Method of | Math
> Static
> Implemented in | JavaScript 1.0, NES 2.0
> ECMA version | ECMA-262

> Syntax
> tan(x)

> Parameters

> x | A number

> Description
> The 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.

> Examples
> The following function returns the tangent of the variable x:

> function getTan(x) {
> return Math.tan(x)
> }

> See also
> Math.acos, Math.asin, Math.atan, Math.atan2, Math.cos, Math.sin

> Previous Contents Index Next

> Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated September 28, 2000