数学関連のメソッドやプロパティを実装するオブジェクトです。
0.0 以上、1.0 未満の乱数を生成します。例えば次のようにして、0~15 の整数値の乱数を生成することができます。
xx = Math.floor(Math.random() * 16); // => 0~15
n の絶対値を返します。
Math.abs(-8) // => 8
ceil() は n の小数点以下を繰り上げた整数値を返します。3.6 は 4 に、-3.6 は -3 になります。floor() は繰り下げた整数値を返します。3.6 は 3 に、-3.6 は -4 になります。round() は四捨五入した整数値を返します。3.6 は 4 に、-3.6 は -4 になります。
Math.ceil(3.6) // => 4 Math.floor(3.6) // => 3 Math.round(3.6) // => 4
n の小数部を取り除いた値を返します。n が正の時は floor() と同様、負の時は ceil() と同様となります。IE11 ではサポートされていません。
Math.trunc(3.6) // => 3 Math.trunc(-3.6) // => -3
円周率パイ(π)(約3.141592)を返します。
Math.PI // => 3.141592653589793
x のサイン(正弦)(-1~1)、コサイン(余弦)(-1~1)、タンジェント(正接)(-∞~∞) を返します。x はラジアン単位(0度は0、90度はPI/2、180度はPI)で指定します。
r = 10.0; // 半径 a = 30.0; // 角度(度) x = r * Math.cos(a / 180 * Math.PI); // X座標 y = r * Math.sin(a / 180 * Math.PI); // Y座標
x のアークサイン(逆正弦)(-PI/2~PI/2)、アークコサイン(逆余弦)(0~PI)、アークタンジェント(逆正接)(-PI/2~PI/2) を返します。
Math.asin(1) // => 1.5707963267948966 (PI/2) Math.acos(0) // => 1.5707963267948966 (PI/2) Math.atan(Infinity) // => 1.5707963267948966 (PI/2)
x のハイパーボリックサイン、ハイパーボリックコサイン、ハイパーボリックタンジェントを返します。IE11 ではサポートされていません。
Math.sinh(1) // => 1.1752011936438014 Math.cosh(1) // => 1.5430806348152437 Math.tanh(1) // => 0.7615941559557649
x のハイパーボリックアークサイン、ハイパーボリックアークコサイン、ハイパーボリックアークタンジェントを返します。IE11 ではサポートされていません。
Math.asinh(1) // => 0.881373587019543 Math.acosh(2) // => 1.3169578969248166 Math.atanh(0.5) // => 0.5493061443340548
座標 x, y の角度(-PI~PI)を返します。
Math.atan2(1, 1) // => 0.7853981633974483 (PI/4)
max() は value1, value2, ... の中から一番大きな値、min() は一番小さな値を返します。
Math.max(3, 5, 2) // => 5 Math.min(3, 5, 2) // => 2
n の m 乗を返します。
Math.pow(2, 8) // => 256
n の平方根を返します。
Math.sqrt(2) // => 1.4142135623730951
n の立方根を返します。IE11 ではサポートされていません。
Math.cbrt(2) // => 1.2599210498948732
SQRT2 は 2 の平方根、SQRT1_2 は 1/2 の平方根を返します。
Math.SQRT2 // => 1.4142135623730951 Math.SQRT1_2 // => 0.7071067811865476
LN2 は e を底とした2の対数、LN10 は e を底とした10の対数、LOG2E は 2 を底とした e の対数、LOG10E は 10 を底とした e の対数を返します。
Math.LN2 // => 0.6931471805599453 Math.LN10 // => 2.302585092994046 Math.LOG2E // => 1.4426950408889634 Math.LOG10E // => 0.4342944819032518
自然対数 e の値を返します。
Math.E // => 2.718281828459045
exp() は e の n乗を、expm1() は e の n乗 - 1 を返します。expm1() は IE11 ではサポートされていません。
Math.exp(1) // => 2.718281828459045 Math.expm1(1) // => 1.718281828459045
log() は e を底とした n の対数、log2() は 2 を底とした n の対数、log10() は 10 を底とした n の対数、log1p() は e を底とした n + 1 の対数を返します。IE11 では log() のみをサポートしています。
Math.log(10) // => 2.302585092994046 Math.log2(8) // => 3 Math.log10(10) // => 1 Math.log1p(9) // => 2.302585092994046
CountLeadingZeroes32 の略で、32ビットバイナリ表現における先頭の 0 の個数を返します。IE11 ではサポートされていません。
Math.clz32(0) // => 32 Math.clz32(1) // => 31 Math.clz32(0xffff) // => 16
x に最も近い、単精度の float を返します。IE11 ではサポートされていません。
Math.fround(1.23) // => 1.2300000190734863
value1, value2, ... の二乗和の平方根を返します。IE11 ではサポートされていません。
Math.hypot(.12, -.13, -.14, .15) // => 0.2709243436828813
C言語と同様の高速アルゴリズムで計算した x と y の乗算を返します。IE11 ではサポートされていません。
Math.imul(0xff, 16) // => 4080 (0xff0)
x が正の時は 1、0 の時は 0、負の時は -1 を返します。IE11 ではサポートされていません。
Math.sign(-2) // => -1 Math.sign(0) // => 0 Math.sign(2) // => 1