Math的简单概况

简单概况Math

ECMAScript提供了Math对象作为保存数学公式,信息和计算的地方。Math对象提供了一些辅助计算的属性和方法。

 1.Math对象属性 
       Math对象有一些属性,主要用于保存数学中的一些特殊值。下列属性
属性说明
Math.E自然对数的基数e的值
Math.LN1010为底的自然对数
Math.LN22为底的自然对数
Math.LOG2E以2为底e的对数
Math.LOG10E以10为底e的对数
Math.PIπ的值
Math.SQRT1_21/2的平方根
Math.SQRT22的平方根

这些值得含义和用法都是ECMAScript规范定义的,可以在你需要时使用

2.min()和max()方法

Math对象也提供了很多辅助执行的简单或复杂数学计算的方法。
min()和max()方法用于确定一组数值中的最小值和最大值。这两个方法都接受任意多个参数,如:

let max = Math.max(3, 54 , 32, 16);
console.log(max); //54

let min = Math.min(3, 54, 32, 16);
console.log(min);  //3

在3,54,32,16中,Math.max()返回54,Math.min()返回3.使用这两个方法可以避免使用额外的循环和if语句来确定一组数值的最大最小值。
要知道数组中的最大值和最小值,可以像下面这样使用扩展操作符:

let values = [1,2,3,4,5,6,7,8];
let max = Math.max(...val);
3.舍入方法

接下来是用于把小数值舍入为整数的4个方法:Math.ceil(),Math.floor(),Math.round(),Math,froun()。这几个方法处理舍入的方式如下所示:

  • Math.ceil()方法始终向上舍入为最接近的整数。

  • Math.floor()方法始终向下舍入为最接近的整数。

  • Math.round()方法执行四舍五入。

  • Math,froun()方法返回数值最接近的单精度(32)浮点值表示。

  • 以下是这些方法的用法:

console.log(Math.ceil(25.9));  //26
console.log(Math.ceil(25.5));  //26
console.log(Math.ceil(25.1));  //26

console.log(Math.round(25.9));  //26
console.log(Math.round(25.5));  //26
console.log(Math.round(25.1));  //25

console.log(Math.fround(0.4));  //0.4000000059604645
console.log(Math.fround(0.5));  //0.5
console.log(Math.fround(25.9);  //25.899999618530273

console.log(Math.floor(25.9));  //25
console.log(Math.floor(25.5));  //25
console.log(Math.floor(25.1));  //25

对于25和26(不包含)之间的所有值,Math.ceil()都会返回26,因为他始终向上舍入。Maht.round()只在数值大于等于25.5时返回26.否则返回25。最后,Math.floor()对所有25和26(不包含)之间的值都返回25。

4.random方法

Math.random()方法返回一个0到1范围内的随机数,其中包含0但是不包含1,对于希望显示随机名言或随机新闻的网页,这个方法是非常方便的。可以际遇如下公式使用Math.random()从一组整数中随机选择一个数:

nuber = Math.floor(Math.random()*total_nuber_of_choices + first_possible_vaue)

这里使用了Math.floor()方法。因为Math.random()始终返回小数,即使乘以一个数再加上一个数也是小数。因此,如果想从1到10范围随机选择一个数,代码就是这样的:

let num = Math.floor(Math.random() * 10 + 1);

这样就有10个可能的值(1~10),其中最小的值是1.如果想选择一个2·10范围内的值,则代码就可以写成这样:

let num = Math.floor(Math.random() * 9 + 2);

2~10只有9个数,所以可选总数(total_number_of_choices)是9,而最小可能的值(first_possible_value)是2.很多时候,通过函数来算出可选总数和最小可能的值可能更方便比如:

function selectFrom(lowerValue,upperValue){
	let choices = upperValue - lowerValue + 1;
	retyrn Matth.floor(Math.random() * choices + lowerValue);
}
let num = selectFrom(2,10);
console.log(num);  //2~10范围内的值,其中包含2和10

这里的函数selectFrom()接收两个参数;应该返回的最小值和最大值。通过将这个两个值相减加1得到可选总数,然后再套用上面的公式。于是,调用selectFrom(2,10)就可以从2~10(包含)范围内选择一个值了。使用这个函数,从一个数组中随机选择一个元素就很容易,比如:

let colors = ["red","green","blue","yellow","black","purple","brown"];
let color = colors[selectFrom(0,colors,length-1)];

在这个例子中,传给selectFrom()的第二个参数是数组长度减1,即使数组最大的索引值。

 Math还有很多涉及各种简单或高阶数的运算的方法。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值