Math对象

源码下载

  Javascript引入内置对象Math主要是为了方便解决数学上的常见计算。数字、字符串、数组等类型对象,一边创建好以后才能调用其方法,Math不用创建,直接调用就可以 ,Math就是平方根sqrt、幂函数pow、正弦函数sin的一个集合。把函数集合名称Math在语法上定义为对象,把众多函数定义为对象的方法,说到这里你就应该知道如何使用数学函数, 对象.方法的形式,比如Math.pow(3,2)表示3的平方,Math.sqrt(5)表示5的平方根。

  下面的代码示例是利用Javascript内置对象Math调用数学计算函数求解笛卡尔坐标系中两点间的距离。

8        //点1坐标
9        let x = 10,y = 12,z = 25;
10       //点2坐标
11       let a = 11,b = 9,c = 12;
12       //调用数学函数计算,幂函数Math.pow(),平方根函数Math.sqrt()。
13       let L = Math.sqrt(Math.pow(x-a,2)+Math.pow(y-b,2)+Math.pow(z-c,2));
14       //保留两位小数
15       let X = L.toFixed(2);
16   
17       //显示计算结果l
18       document.write(L);
19       document.write("<br>");
20       //显示保留两位小数结果X
21       document.write(X);
22       document.write("<br>");
23       //判断X数据类型
24       document.write(typeof X);
25       document.write("<br>");
26       //判断X数据内容
27       document.write(X === "13.38");
28       document.write("<br>"); 

体验测试

  常识更改点1和点2的坐标值,观察计算结果的变化。

代码解析

  第14行代码就是调用平方根和幂函数方法求解得到距离,计算结果是无限循环小数13.379088160259652,系统默认保留了15位有效数字。 第15代码用到了一个方法toFixed,该方法属于数字对象的方法,简单说,作用就是保留两位小数,具体来说数字对象执行 toFixed方法返回一个字符串类型数据13.38,数字对象本身数据在内存中的状态没变化。这里要注意字符串格式13.38和浮点格式13.38在内存中的状态是不一样的, 字符串每一个字符编码遵循UTF-8或其它专门针对字符的编码标准,Javascript数字类型数据编码遵循IEEE 754标准。

Math对象属性

属性符号 含义 数学表达 数值大小
E 自然指数 e 2.71828....
LN2 2的自然对数 ln2 0.69314....
LN10 10的自然对数 ln10 2.30258....
LOG2E 2为底数,e的对数 log2e 1.44269....
LOG10E 10为底数,e的对数 log10e 0.43429....
PI 圆周率 π 3.14159....
SQRT1_2 2的平方根倒数 1/√2 0.70710....
SQRT2 2的平方根 √2 1.41421....

Math对象方法

以下方法不改变原来的变量,都是利用原来的数字生成一个新的数字重新赋值给任意变量。

方法 含义
abs(a) 绝对值
asin(a) 反正弦值
atan(弧度) 反正切值
atan2(y,x) 反正切值,点(x,y)与原点连线和正x轴呈现的夹角,逆时针为准
cos(弧度) 余弦值
ceil(a) 向上取整
floor(a) 向下取整
round(a) 四舍五入圆整
log(a) a的自然对数
min(a,b) 返回a、b较小的数
pow(a,n) a的n次幂
random() 生成随机数,区间[0,1]
sin(弧度) 正弦值
tan(弧度) 正切值
acos(a) 反余弦值
sqrt(a) 平方根

圆整方式比较

小数 ceil floor round
1.2 2 1 1
1.4 2 1 1
1.5 2 1 2
1.6 2 1 2