请问JS中pow,random,round,exp这几个数学函数的作用是什么?

JavaScript015

请问JS中pow,random,round,exp这几个数学函数的作用是什么?,第1张

Math.pow(x,y):返回 x 的 y 次幂。

Math.random()返回介于 0(包含) ~ 1(不包含) 之间的一个随机数.

Math.round()四舍五入

Math.exp(x): 返回 e 的 x 次幂的值。 E 为自然底数 (近似值 2.7183)。

用JS的随机数生成函数random()配合其他数学函数可以限制随机数的取值。

JS的随机数函数及相关函数:

Math.random()结果为0-1间的一个随机数(包括0,不包括1) 。

Math.floor(num)参数num为一个数值,函数结果为num的整数部分。

Math.ceil(n)返回大于等于n的最小整数。

Math.round(num)参数num为一个数值,函数结果为num四舍五入后的整数。

因此可以用以上函数配合实现取1-6的随机数:

1,用Math.ceil(Math.random()*6)时,主要获取1到6的随机整数,取0的几率极小。

2,用Math.round(Math.random()*5 + 1),可基本均衡获取1到6的随机整数,其中获取最小值0和最大值6的几率少一半。

3,用Math.floor(Math.random()*6 + 1)时,可均衡获取1到6的随机整数。

math.random随机生成的是0-1之间的浮点小数,你可以把这个数乘以一个数,得到一个范围内的随机整数数。

然后用这个整数乘以8,就是8的倍数。

//GetRandomInt是一个生成随机数的函数,需要你输入一个n座位参数

//这个生成的随机数就小于n

function GetRandomInt(n) {

    return parseInt(Math.floor(Math.random() * n))

}

//生成在n以内的8的倍数随机数

function GetNum(n) {

    //这里把参数n先除以8,如果等于0则直接返回0

    let inum = parseInt(Math.floor(n / 8))

    if(n == 0){

        return 0

    }

    //如果不等于0则返回一个这个数的随机数,然后乘以8.

    return parseInt(GetRandomInt(inum)*8)

}

//通过控制台随机打印100以内8的倍数

console.log('生成8的倍数的随机数:'+GetNum(100))

以上代码你参考一下