aboutsummaryrefslogtreecommitdiff
path: root/files/pt-pt/web/javascript/reference/global_objects/math/index.html
blob: 867c783782082c388365f80b669d01c2f980f20a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
---
title: Math
slug: Web/JavaScript/Reference/Global_Objects/Math
translation_of: Web/JavaScript/Reference/Global_Objects/Math
---
<div>{{JSRef}}</div>

<p><strong><code>Math</code></strong> é um objecto integrado que tem propriedades e métodos correspondentes a constantes e funções matemáticas. Não é um objecto função.</p>

<h2 id="Descrição">Descrição</h2>

<p>Contrariamente aos outros objectos globais, <code>Math</code> não é um construtor. Todas as propriedades e métodos de <code>Math</code> são estáticas. Refere-se a constante pi com <code>Math.PI</code> e chama-se a função de seno com <code>Math.sin(x)</code>, em que x é o argumento do método. As constantes estão definidas com a precisão completa dos números reais do JavaScript.</p>

<p>Para extender o objecto <code>Math</code>, não se usa o protótipo. Em vez disso extende-se directamente o objecto <code>Math</code>:</p>

<p>Math.nomeProp=valorProp;</p>

<p>Math.nomeMetodo=refMetodo;</p>

<h2 id="Propriedades">Propriedades</h2>

<dl>
 <dt>{{jsxref("Math.E")}}</dt>
 <dd>Euler's constant and the base of natural logarithms, approximately 2.718.</dd>
 <dt>{{jsxref("Math.LN2")}}</dt>
 <dd>Natural logarithm of 2, approximately 0.693.</dd>
 <dt>{{jsxref("Math.LN10")}}</dt>
 <dd>Natural logarithm of 10, approximately 2.303.</dd>
 <dt>{{jsxref("Math.LOG2E")}}</dt>
 <dd>Base 2 logarithm of E, approximately 1.443.</dd>
 <dt>{{jsxref("Math.LOG10E")}}</dt>
 <dd>Base 10 logarithm of E, approximately 0.434.</dd>
 <dt>{{jsxref("Math.PI")}}</dt>
 <dd>Ratio of the circumference of a circle to its diameter, approximately 3.14159.</dd>
 <dt>{{jsxref("Math.SQRT1_2")}}</dt>
 <dd>Square root of 1/2; equivalently, 1 over the square root of 2, approximately 0.707.</dd>
 <dt>{{jsxref("Math.SQRT2")}}</dt>
 <dd>Square root of 2, approximately 1.414.</dd>
</dl>

<h2 id="Métodos">Métodos</h2>

<div class="note">
<p>Note that the trigonometric functions (<code>sin()</code>, <code>cos()</code>, <code>tan()</code>, <code>asin()</code>, <code>acos()</code>, <code>atan()</code>, <code>atan2()</code>) expect or return angles in radians. To convert radians to degrees, divide by <code>(Math.PI / 180)</code>, and multiply by this to convert the other way.</p>
</div>

<div class="note">
<p>Note that many math functions have a precision that's implementation-dependent. This means that different browsers can give a different result, and even the same JS engine on a different OS or architecture can give different results.</p>
</div>

<dl>
 <dt>{{jsxref("Global_Objects/Math/abs", "Math.abs(x)")}}</dt>
 <dd>Returns the absolute value of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/acos", "Math.acos(x)")}}</dt>
 <dd>Returns the arccosine of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/acosh", "Math.acosh(x)")}}</dt>
 <dd>Returns the hyperbolic arccosine of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/asin", "Math.asin(x)")}}</dt>
 <dd>Returns the arcsine of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/asinh", "Math.asinh(x)")}}</dt>
 <dd>Returns the hyperbolic arcsine of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/atan", "Math.atan(x)")}}</dt>
 <dd>Returns the arctangent of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/atanh", "Math.atanh(x)")}}</dt>
 <dd>Returns the hyperbolic arctangent of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/atan2", "Math.atan2(y, x)")}}</dt>
 <dd>Returns the arctangent of the quotient of its arguments.</dd>
 <dt>{{jsxref("Global_Objects/Math/cbrt", "Math.cbrt(x)")}}</dt>
 <dd>Returns the cube root of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/ceil", "Math.ceil(x)")}}</dt>
 <dd>Returns the smallest integer greater than or equal to a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/clz32", "Math.clz32(x)")}}</dt>
 <dd>Returns the number of leading zeroes of a 32-bit integer.</dd>
 <dt>{{jsxref("Global_Objects/Math/cos", "Math.cos(x)")}}</dt>
 <dd>Returns the cosine of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/cosh", "Math.cosh(x)")}}</dt>
 <dd>Returns the hyperbolic cosine of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/exp", "Math.exp(x)")}}</dt>
 <dd>Returns E<sup>x</sup>, where <var>x</var> is the argument, and E is Euler's constant (2.718…), the base of the natural logarithm.</dd>
 <dt>{{jsxref("Global_Objects/Math/expm1", "Math.expm1(x)")}}</dt>
 <dd>Returns subtracting 1 from <code>exp(x)</code>.</dd>
 <dt>{{jsxref("Global_Objects/Math/floor", "Math.floor(x)")}}</dt>
 <dd>Returns the largest integer less than or equal to a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/fround", "Math.fround(x)")}}</dt>
 <dd>Returns the nearest <a href="http://en.wikipedia.org/wiki/Single-precision_floating-point_format" title="link to the wikipedia page on single precision">single precision</a> float representation of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/hypot", "Math.hypot([x[, y[, …]]])")}}</dt>
 <dd>Returns the square root of the sum of squares of its arguments.</dd>
 <dt>{{jsxref("Global_Objects/Math/imul", "Math.imul(x, y)")}}</dt>
 <dd>Returns the result of a 32-bit integer multiplication.</dd>
 <dt>{{jsxref("Global_Objects/Math/log", "Math.log(x)")}}</dt>
 <dd>Returns the natural logarithm (log<sub>e</sub>, also ln) of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/log1p", "Math.log1p(x)")}}</dt>
 <dd>Returns the natural logarithm (log<sub>e</sub>, also ln) of <code>1 + x</code> for a number x.</dd>
 <dt>{{jsxref("Global_Objects/Math/log10", "Math.log10(x)")}}</dt>
 <dd>Returns the base 10 logarithm of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/log2", "Math.log2(x)")}}</dt>
 <dd>Returns the base 2 logarithm of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/max", "Math.max([x[, y[, …]]])")}}</dt>
 <dd>Returns the largest of zero or more numbers.</dd>
 <dt>{{jsxref("Global_Objects/Math/min", "Math.min([x[, y[, …]]])")}}</dt>
 <dd>Returns the smallest of zero or more numbers.</dd>
 <dt>{{jsxref("Global_Objects/Math/pow", "Math.pow(x, y)")}}</dt>
 <dd>Returns base to the exponent power, that is, <code>base<sup>exponent</sup></code>.</dd>
 <dt>{{jsxref("Global_Objects/Math/random", "Math.random()")}}</dt>
 <dd>Returns a pseudo-random number between 0 and 1.</dd>
 <dt>{{jsxref("Global_Objects/Math/round", "Math.round(x)")}}</dt>
 <dd>Returns the value of a number rounded to the nearest integer.</dd>
 <dt>{{jsxref("Global_Objects/Math/sign", "Math.sign(x)")}}</dt>
 <dd>Returns the sign of the x, indicating whether x is positive, negative or zero.</dd>
 <dt>{{jsxref("Global_Objects/Math/sin", "Math.sin(x)")}}</dt>
 <dd>Returns the sine of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/sinh", "Math.sinh(x)")}}</dt>
 <dd>Returns the hyperbolic sine of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/sqrt", "Math.sqrt(x)")}}</dt>
 <dd>Returns the positive square root of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/tan", "Math.tan(x)")}}</dt>
 <dd>Returns the tangent of a number.</dd>
 <dt>{{jsxref("Global_Objects/Math/tanh", "Math.tanh(x)")}}</dt>
 <dd>Returns the hyperbolic tangent of a number.</dd>
 <dt><code>Math.toSource()</code> {{non-standard_inline}}</dt>
 <dd>Returns the string <code>"Math"</code>.</dd>
 <dt>{{jsxref("Global_Objects/Math/trunc", "Math.trunc(x)")}}</dt>
 <dd>Returns the integral part of the number x, removing any fractional digits.</dd>
</dl>

<h2 id="Especificações">Especificações</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
  <tr>
   <td>{{SpecName('ES1')}}</td>
   <td>{{Spec2('ES1')}}</td>
   <td>Initial definition. Implemented in JavaScript 1.1.</td>
  </tr>
  <tr>
   <td>{{SpecName('ES5.1', '#sec-15.8', 'Math')}}</td>
   <td>{{Spec2('ES5.1')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ES6', '#sec-math-object', 'Math')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td>New methods {{jsxref("Math.log10()", "log10()")}}, {{jsxref("Math.log2()", "log2()")}}, {{jsxref("Math.log1p()", "log1p()")}}, {{jsxref("Math.expm1()", "expm1()")}}, {{jsxref("Math.cosh()", "cosh()")}}, {{jsxref("Math.sinh()", "sinh()")}}, {{jsxref("Math.tanh()", "tanh()")}}, {{jsxref("Math.acosh()", "acosh()")}}, {{jsxref("Math.asinh()", "asinh()")}}, {{jsxref("Math.atanh()", "atanh()")}}, {{jsxref("Math.hypot()", "hypot()")}}, {{jsxref("Math.trunc()", "trunc()")}}, {{jsxref("Math.sign()", "sign()")}}, {{jsxref("Math.imul()", "imul()")}}, {{jsxref("Math.fround()", "fround()")}}, {{jsxref("Math.cbrt()", "cbrt()")}} and {{jsxref("Math.clz32()", "clz32()")}} added.</td>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-math-object', 'Math')}}</td>
   <td>{{Spec2('ESDraft')}}</td>
   <td> </td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility">Browser compatibility</h2>

<div>{{CompatibilityTable}}</div>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Android</th>
   <th>Chrome for Android</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>IE Mobile</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
  </tr>
 </tbody>
</table>
</div>

<h2 id="See_also">See also</h2>

<ul>
 <li>{{jsxref("Number")}}</li>
</ul>