aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/javascript/reference/global_objects/math/atan2/index.html
blob: 64064017c75ba78ea298eff9aed39d5977106a2e (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
---
title: Math.atan2()
slug: Web/JavaScript/Reference/Global_Objects/Math/atan2
translation_of: Web/JavaScript/Reference/Global_Objects/Math/atan2
---
<div>{{JSRef("Global_Objects", "Math")}}</div>

<h2 id="Summary" name="Summary">概述</h2>

<p><code><strong>Math.atan2(</strong></code><code><strong>)</strong></code> 返回从原点(0,0)到(x,y)点的线段与x轴正方向之间的平面角度(弧度值),也就是Math.atan2(y,x)</p>

<h2 id="Syntax" name="Syntax">语法</h2>

<pre class="syntaxbox">Math.atan2(<em>y</em>, <em>x</em>) </pre>

<h2 id="Parameters" name="Parameters">参数</h2>

<dl>
 <dt><code>y, x</code></dt>
 <dd>数值</dd>
</dl>

<h2 id="Description" name="Description">描述</h2>

<p><code>atan2</code> 方法返回一个 -pi 到 pi 之间的数值,表示点 (x, y) 对应的偏移角度。这是一个逆时针角度,以弧度为单位,正X轴和点 (x, y) 与原点连线 之间。注意此函数接受的参数:先传递 y 坐标,然后是 x 坐标。</p>

<p><code>atan2</code> 接受单独的 x 和 y 参数,而 <code>atan</code> 接受两个参数的比值。</p>

<p>由于 <code>atan2</code><code>Math</code> 的静态方法,所以应该像这样使用:<code>Math.atan2()</code>,而不是作为你创建的 <code>Math</code> 实例的方法。</p>

<h2 id="Examples" name="Examples">示例</h2>

<h3 id="Example_Using_Math.atan2" name="Example:_Using_Math.atan2">例子:使用 <code>Math.atan2</code></h3>

<pre class="brush:js">Math.atan2(90, 15) // 1.4056476493802699
Math.atan2(15, 90) // 0.16514867741462683

<code>Math.atan2( ±0, -0 )</code>               // <code>±PI</code>.
<code>Math.atan2( ±0, +0 )</code>               // <code>±0</code>.
<code>Math.atan2( ±0, -x )</code>               // <code>±PI</code> for x &gt; 0.
<code>Math.atan2( ±0, x )</code>                // <code>±0</code> for x &gt; 0.
<code>Math.atan2( </code><code>-y, ±0 )</code>               // -<code>PI/2</code> for y &gt; 0.
<code>Math.atan2( </code><code>y, ±0 )</code>                // <code>PI/2</code> for y &gt; 0.
<code>Math.atan2( ±y, -Infinity )</code>        // <code>±PI</code> for finite y &gt; 0.
<code>Math.atan2( ±y, +Infinity )</code>        // <code>±0</code> for finite y &gt; 0.
<code>Math.atan2( ±Infinity, x )</code>         // <code>±PI/2</code> for finite x.
<code>Math.atan2( ±Infinity, -Infinity )</code> // <code>±3*PI/4</code>.
<code>Math.atan2( ±Infinity, +Infinity )</code> // <code>±PI/4</code>.
</pre>

<h2 id="规范">规范</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">规范版本</th>
   <th scope="col">规范状态</th>
   <th scope="col">注解</th>
  </tr>
  <tr>
   <td>ECMAScript 1st Edition. Implemented in JavaScript 1.0</td>
   <td>Standard</td>
   <td>Initial definition.</td>
  </tr>
  <tr>
   <td>{{SpecName('ES5.1', '#sec-15.8.2.5', 'Math.atan2')}}</td>
   <td>{{Spec2('ES5.1')}}</td>
   <td></td>
  </tr>
  <tr>
   <td>{{SpecName('ES6', '#sec-math.atan2', 'Math.atan2')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td></td>
  </tr>
 </tbody>
</table>

<h2 id="浏览器兼容性">浏览器兼容性</h2>

<p>{{ CompatibilityTable() }}</p>

<div>
<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>
<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" name="See_also">相关链接</h2>

<ul>
 <li>The {{jsxref("Global_Objects/Math", "Math")}} object it belongs to.</li>
 <li>{{jsxref("Math.acos()")}}</li>
 <li>{{jsxref("Math.asin()")}}</li>
 <li>{{jsxref("Math.atan()")}}</li>
 <li>{{jsxref("Math.cos()")}}</li>
 <li>{{jsxref("Math.sin()")}}</li>
 <li>{{jsxref("Math.tan()")}}</li>
</ul>