七、JavaScript中的Math对象
- JavaScript中的对象分为3种:自定义对象、内置对象、浏览器对象
- 前面两种对象是JS基础内容,属于ECMAScript ;第三个浏览器对象属于我们JS独有的
- 内置对象就是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)
- 内置对象最大的优点就是帮助我们快速开发
- JavaScript 提供了多个内置对象:Math、Date、Array、String等
(一)Math 概述
Math对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整、最大值 等)可以使用Math中的成员。
语法
var x = Math.PI; // 返回 PI
var y = Math.sqrt(16); // 返回 16 的平方根
(二)Math 对象属性
属性 | 描述 |
---|---|
E | 返回算术常量 e,即自然对数的底数(约等于2.718)。 |
LN2 | 返回 2 的自然对数(约等于0.693)。 |
LN10 | 返回 10 的自然对数(约等于2.302)。 |
LOG2E | 返回以 2 为底的 e 的对数(约等于 1.4426950408889634)。 |
LOG10E | 返回以 10 为底的 e 的对数(约等于0.434)。 |
PI | 返回圆周率(约等于3.14159)。 |
SQRT1_2 | 返回 2 的平方根的倒数(约等于 0.707)。 |
SQRT2 | 返回 2 的平方根(约等于 1.414)。 |
(三)Math 对象方法
-
Math.abs(取绝对值)
语法
Math.abs(x)
x必须是数值
返回值:Number
案例
var a = Math.abs(7.25); var b = Math.abs(-7.25); var c = Math.abs(null); var d = Math.abs("Hello"); var e = Math.abs(2 + 3); console.log(a, b, c, d, e); //7.25 7.25 0 NaN 5
-
Math.floor(向下取整)
语法
Math.floor(x)
x为任意数值。
返回值:Number
案例
var a=Math.floor(0.60); var b=Math.floor(0.40); var c=Math.floor(5); var d=Math.floor(5.1); var e=Math.floor(-5.1); var f=Math.floor(-5.9); console.log(a, b, c, d, e, f); //0 0 5 5 -6 -6
-
Math.ceil(向上取整)
语法
Math.ceil(x)
x为任意数值。
返回值:Number
案例
var a=Math.ceil(0.60); var b=Math.ceil(0.40); var c=Math.ceil(5); var d=Math.ceil(5.1); var e=Math.ceil(-5.1); var f=Math.ceil(-5.9); console.log(a, b, c, d, e, f); //1 1 5 6 -5 -5
-
Math.round(四舍五入)
语法
Math.round(x)
x必须是数字。
返回值:Number
round() 方法可把一个数字舍入为最接近的整数:
案例
var a=Math.round(2.60); var b=Math.round(2.50); var c=Math.round(2.49); var d=Math.round(-2.60); var e=Math.round(-2.50); var f=Math.round(-2.49); console.log(a, b, c, d, e, f); //3 3 2 -3 -2 -2
-
Math.random(随机数)
语法
Math.random();
返回介于 0(包含) ~ 1(不包含) 之间的一个伪随机数
返回值:Numbe
真随机数:真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等,这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高。 ----百度百科
伪随机数:真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。而计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可见的。我们可以这样认为这个可预见的结果其出现的概率是100%。所以用计算机随机函数所产生的“随机数”并不随机,是伪随机数。
—百度百科
实例
//取得介于 1 到 10 之间的一个随机数: Math.floor((Math.random()*10)+1); //取得介于 1 到 100 之间的一个随机数: Math.floor((Math.random()*100)+1); //返回 min(包含)~ max(不包含)之间的数字: function getRndInteger(min, max) { return Math.floor(Math.random() * (max - min) ) + min; } //返回 min(包含)~ max(包含)之间的数字: function getRndInteger(min, max) { return Math.floor(Math.random() * (max - min + 1) ) + min; }