轻松掌握 JavaScript 中的 Math 算数对象
今天我们要来学习 JavaScript 里非常实用的 Math 算数对象。
在 JavaScript 的世界里,Math 算数对象主要是用来执行常见的算数任务的。有了它,我们能轻松进行各种数学运算,比如计算平方根、求绝对值、生成随机数等等。下面我们就来详细了解一下它的用法。
Math 对象的基本介绍
Math 算数对象的作用就是执行普通的算数任务。它为我们提供了多种算数值类型和函数,而且特别方便的是,我们不需要在使用这个对象之前对它进行定义,直接就可以使用。
使用 Math 对象的属性或方法的语法很简单,比如:
var x = Math.PI; // 这里获取了圆周率的值,并赋值给变量 x
var y = Math.sqrt(16); // 这里计算 16 的平方根,并赋值给变量 y
这里要注意哦,Math 对象和 Date 对象、String 对象不太一样,它不是对象的类,所以没有构造函数 Math()
。也就是说,我们不能像创建 Date 对象或 String 对象那样,使用 new Math()
来创建它。
Math 对象的属性
Math 对象有很多有用的属性,这些属性都是一些常见的数学常量,具体如下:
- E:返回算术常量
e
,也就是自然对数的底数,大约等于 2.718 。 - LN2:返回 2 的自然对数,大约等于 0.693 。
- LN10:返回 10 的自然对数,大约等于 2.302 。
- LOG2E:返回以 2 为底的
e
的对数,大约等于 1.414 。 - LOG10E:返回以 10 为底的
e
的对数,大约等于 0.434 。 - PI:返回圆周率,大约等于 3.14159 。
- SQRT1_2:返回 2 的平方根的倒数,大约等于 0.707 。
- SQRT2:返回 2 的平方根,大约等于 1.414 。
我们可以像这样使用这些属性:var piValue = Math.PI;
,这样 piValue
就会得到圆周率的值啦。
Math 对象的方法
Math 对象还提供了很多实用的方法,用于进行各种数学运算,下面是一些常见的方法及其描述:
- abs(x):返回
x
的绝对值。比如Math.abs(-5)
,就会返回 5 。 - acos(x):返回
x
的反余弦值。 - asin(x):返回
x
的反正弦值。 - atan(x):以介于
-PI/2
与PI/2
弧度之间的数值来返回x
的反正切值。 - atan2(y, x):返回从
x
轴到点(x, y)
的角度(介于-PI/2
与PI/2
弧度之间)。 - ceil(x):对数进行上舍入。例如
Math.ceil(4.1)
,会返回 5 。 - cos(x):返回数的余弦。
- exp(x):返回
Ex
的指数。 - floor(x):对
x
进行下舍入。比如Math.floor(4.9)
,会返回 4 。 - log(x):返回数的自然对数(底为
e
)。 - max(x, y, z, …, n):返回
x
、y
、z
、…、n
中的最高值。例如Math.max(3, 8, 1)
,会返回 8 。 - min(x, y, z, …, n):返回
x
、y
、z
、…、n
中的最低值。 - pow(x, y):返回
x
的y
次幂。比如Math.pow(2, 3)
,会返回 8 。 - random():返回 0 到 1 之间的随机数。
- round(x):把数四舍五入为最接近的整数。例如
Math.round(4.5)
,会返回 5 。 - sin(x):返回数的正弦。
- sqrt(x):返回数的平方根。比如
Math.sqrt(9)
,会返回 3 。 - tan(x):返回角的正切。
算数值的使用
JavaScript 提供了 8 种可以被 Math 对象访问的算数值,我们可以像下面这样使用它们:
var eValue = Math.E; // 获取算术常量 e 的值
var piValue = Math.PI; // 获取圆周率的值
var sqrt2Value = Math.SQRT2; // 获取 2 的平方根的值
var sqrt1_2Value = Math.SQRT1_2; // 获取 2 的平方根的倒数的值
var ln2Value = Math.LN2; // 获取 2 的自然对数的值
var ln10Value = Math.LN10; // 获取 10 的自然对数的值
var log2eValue = Math.LOG2E; // 获取以 2 为底的 e 的对数的值
var log10eValue = Math.LOG10E; // 获取以 10 为底的 e 的对数的值
算数方法的使用实例
除了这些算数值,Math 对象的方法也非常实用。下面我们通过几个例子来看看它们的具体使用:
- 使用
round
方法进行四舍五入:
document.write(Math.round(4.7));
这段代码会输出 5 ,因为 Math.round
方法把 4.7 四舍五入为最接近的整数。
- 使用
random
方法生成 0 到 1 之间的随机数:
document.write(Math.random());
运行这段代码,会输出一个介于 0 和 1 之间的随机数,比如 0.0982979282271117 (每次运行结果可能不同)。
- 使用
floor
方法和random
方法生成 0 到 11 之间的随机数:
document.write(Math.floor(Math.random() * 11));
这里先使用 Math.random()
生成一个 0 到 1 之间的随机数,然后乘以 11 ,再使用 Math.floor
方法对结果进行下舍入,这样就得到了一个介于 0 和 11 之间的随机整数,比如 3 (每次运行结果可能不同)。