JavaScript 内置对象Math

内置对象是指在JavaScript运行环境中预先定义的对象,Math对象是JavaScript提供的一个“数学”对象,他提供了一系列做数学运算的方法。

1. 常用方法

  1. random:生成0-1之间的随机数(包含0不包括1)
  2. ceil:向上取整
  3. floor:向下取整
  4. max:找最大数
  5. min:找最小数
  6. pow:幂运算
  7. abs:绝对值
// 1.获取一组数字中的最大值: Math.max(值, 值, 值);
console.log(Math.max(1, 2, 3, 43, 5)); // 43

// 2.获取一组数字中的最小值: Math.min(值, 值, 值);
console.log(Math.min(1, 2, 3, 43, 5)); // 1

// 3.求绝对值
console.log(Math.abs(-1.23)); // 1.23

// 4.求一个值的幂运算  2的5次方
Math.pow(底数, 指数(幂))
console.log(Math.pow(2, 5)); // 32

// 5.对数字进行向下取整: 得到的结果是一个整数且小于或等于当前值的一个整数
返回一个距离当前数字最近的一个整数
console.log(Math.floor(1)); //1
console.log(Math.floor(1.987)); //1
console.log(Math.floor(1.023)); //1

// 6.对数字进行向上取整: 得到的结果也是一个整数且大于或等于当前值的一个整数
返回一个距离当前数字最近的一个整数
console.log(Math.ceil(1)); //1
console.log(Math.ceil(1.0023)); //2
console.log(Math.ceil(-1.2)); //-1

// 7.生成0-1之间的随机数 [0, 1) 大于等于0且小于1
console.log(Math.random());   

 2. 生成N-M之间的随机数

 Math.floor(Math.random()* (M - N + 1)) + N;

// 1 - 10 的随机整数
let res = Math.floor(Math.random()* (10 - 1 + 1) ) + 1;
console.log(res);

3. 案例:生成随机颜色

// 实现如何随机产生十六进制颜色 和 rgb颜色 
// 案例分析:
// 颜色分为十六进制#6位数和rgb(0,255,255)两种
// a) 实现一个随机数 ===> 不确定随机数到底是多少,可以将随机封装到一个函数中,用的使用调用即可
function myRandom(min, max) {
    let num  = Math.floor(Math.random() * (max - min + 1)) + min;
    // 需要返回值,将产生的随机数返回
    return num;
}

// b) 产生哪种颜色不确定  ===> 封装到一个函数. 用户如果要产生十六进制告诉程序是十六进制,如果是rgb告诉程序是rgb
function RandomColor(type) {
    // 定义一个变量保存十六进制颜色的格式:
    let color = "";
    // 判断用户是否要生成十六进制的数据
    if(type === true) {
        // 十六进制
        // 定义一个数组,保存十六进制中用到的所有字符
        let ary = [0, 1, 2, 3, 4, 5, 6, 7, 8 , 9, 'A', 'B', 'C', 'D', 'E', 'F'];
        // 循环从数组中取6个值拼接到十六进制的变量身上
        for(let i = 1; i <= 6; i++) {
            // 产生一个随机数
            let index = myRandom(0, ary.length - 1); 
            // 从数组中取出一个值,和十六进制拼接
            color = "#" +  ary[index];
        }
    } else {
        // rgb() 颜色每一个取值: 0 - 255
        let r = myRandom(0, 255);
        let g = myRandom(0, 255);
        let b = myRandom(0, 255);
        color = `rgb(${r}, ${g}, ${b})`;
    }
    // 将产生的颜色返回
    return color;
}

// true 代表十六进制
let res =  RandomColor(true);
console.log(res);

// false 代表rgb
let res1 = RandomColor(false);
console.log(res1);


// 使用一下随机颜色
// document.write(`<div style='width: 200px; height: 200px; background:${res1}'></div>`);
document.write(`<div style='width: 200px; height: 200px; background:${res}'></div>`);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值