Math对象

Math 对象

  • Math 对象用于执行数学任务。
  • 注释:Math 对象并不像 Date 和 String 那样是对象的类,因此**没有构造函数 Math()**,像 Math.sin() 这样的函数只是函数,不是某个对象的方法。无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。
  • Math 是全局对象。new 关键词不可用于 Math。

与其他对象的对比:

1
2
3
4
5
6
7
8
var x1 = {};            // 新对象
var x2 = ""; // 新的原始字符串
var x3 = 0; // 新的原始数值
var x4 = false; // 新的原始逻辑值
var x5 = []; // 新的数组对象
var x6 = /()/ // 新的正则表达式对象
var x7 = function(){}; // 新的函数对象
var x8 = new Date(); // 一个新的 Date 对象

Math.round()返回最接近的整数

Math.round()函数返回一个数字四舍五入后最接近的整数
如果参数的小数部分大于0.5,四舍五入到相邻的绝对值更大的整数
如果参数的小数部分小于0.5,四舍五入到相邻的绝对值更小的整数
如果参数的小数部分等于0.5,四舍五入到相邻的在正无穷(+∞)方向上的整数。

例:

1
2
3
4
x=Math.round(2019.49) ;      //2019
x=Math.round(2019.5); //2020
x=Math.round(-2019.5); //-2019
x=Math.round(-2019.51); //-2020

Math.abs() 返回数的绝对值

  • 定义:abs() 方法可返回数的绝对值
  • 语法:Math.abs(x)
  • 参数:必需。必须是一个数值。

Math.random() 返回随机小数

  • random() 方法可返回介于 0(包含) ~ 1(不包含) 之间的一个随机数。(小数位数不确定)
  • 例子1例子2

用作清除缓存

在前端,Math.random()一般用于清除缓存

在项目中,有时改完js文件之后怎么也不能生效,只有清除浏览器缓存或者CTRL+F5强制刷新之后才能出现最新的版本,这样调试起来十分的不方便,此时可以在请求地址之后加上:

1
"?ran=" + Math.random(); //当然这里参数 ran可以任意取了

采用随机数的方式,使每一次的请求都是一个新请求,从而防止浏览器从缓存中读取旧版本
注意:因为Math.random() 只能在Javascript 下起作用,故只能通过Javascript的调用才可以

当前时间用作清除缓存

除了加入随机数还可以加入当前时间

1
"?time=" + new Date().getTime();

同样可以使每次请求的地址都是不一样的,从而防止浏览器使用缓存。

ajax中的使用

在ajax的url后加上随机串来避免浏览缓存:

1
2
3
4
5
6
$.ajax({
url:"./test.json"+"?ran=" + Math.random(),
success:function(result){
console.log(result);
}
})

Math.ceil()返回>=的最小整数

  • Math.ceil() 函数返回大于或等于一个给定数字的最小整数。
  • 语法Math.ceil(x)
    • x:一个数值
  • 返回值:大于或等于给定数字的最小整数。
  • 详细用法可参考MDN文档

例子