目录
1.Math.max() 求最大值 和 Math.min() 求最小值
Math
Math不是构造函数。
Math
是一个内置对象,它拥有一些数学常数属性和数学函数方法。Math
不是一个函数对象。
Math的方法
Math.max(....) | 求最大值 |
Math.min(.....) | 求最小值 |
Math.abs(value) | 求绝对值 |
Math.floor(value) | 向下取整 (往小取整) |
Math.ceil(value) | 向上取整(往大取整) |
Math.round(value) | 四舍五入 |
Math.random() 无参数 | 返回一个范围在 [0,1) 的小数 |
1.Math.max() 求最大值 和 Math.min() 求最小值
参数:0 个或多个数字,将在其中选择,并返回最大的值。
参数格式:value1,value2,value3...
返回值:给定数值中最大(小)的数。如果任一参数不能转换为数值,则返回 NaN。如果没有提供参数,返回 -Infinity。
//求最大值
console.log(Math.max(5, 4, 3, 6)); //6
//Math中的参数必须是value1,value2...的形式
//所以需要将arr数组中的值 用展开运算符...展开
const arr = [11, 55, 22, 33]
console.log(Math.max(...arr)); //55
//求最小值
console.log(Math.min(8, 5, 3, 0, 2)); //0
const brr = [5, 6, 88, 66]
console.log(Math.min(...brr)); //5
2. Math.abs( )
参数:一个数字;
返回值:其绝对值;
强制转换参数:
Math.abs()
将其参数强制转换为数字。无法强制转换的值将变成NaN
,使Math.abs()
也返回NaN
。
//求绝对值
//数值型
Math.abs(-5) //5
Math.abs(0) //0
//字符串
Math.abs('') //0
Math.abs('-1') //1
//数组
Math.abs('[]') //NaN
Math.abs('[2]') //2
Math.abs('[1,2]') //NaN
//对象
Math.abs('{}') //NaN
Math.abs('{1}') //NaN
//null
Math.abs('null') //NaN
3.Math的取整方法
- Math.floor() 向下取整
Math.floor(5.9) //5 Math.floor(6.1) //6 Math.floor(-6.8) //-7
- Math.ceil() 向上取整
Math.ceil(2.3) //3 Math.ceil(6.6) //7 Math.ceil(-1.9); //-1
- Math.round() 四舍五入
Math.round(13.6) //14 Math.round(25.5) //26 Math.round(-18.1) //-18 Math.round(-15.5) //-15 负数的.5不进 Math.round(-15.51) //-16 Math.round(-16.9) //-17
4.Math.random( ) 返回随机小数
Math.random()
函数返回一个浮点数,伪随机数在范围从[0,1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。
取两个数之间的随机整数,并包含这两个整数
//取两个数之间的随机整数,并包含这两个整数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min)
}
随机点名
//JS部分
const unameList = ['喜羊羊', '懒羊羊', '沸羊羊', '小灰灰', '美羊羊',
'灰太狼', '红太狼', '暖羊羊']
//取两个数之间的随机整数,并包含这两个整数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min)
}
//随机点名
document.querySelector('.btn').addEventListener('click', () => {
let uname = getRandom(0, unameList.length - 1)
document.querySelector('.uname').innerHTML = unameList[uname]
})
<!-- HTML部分 -->
<div class="wrap">
<div class="uname">喜羊羊</div>
<div class="btn">点击</div>
</div>
/* CSS部分 */
.wrap {
margin: 100px auto;
width: 200px;
}
.uname {
width: 100%;
height: 50px;
font-size: 20px;
text-align: center;
line-height: 50px;
background-color: rgb(255, 222, 170);
}
.btn {
margin: 10px 0 0 70px;
width: 60px;
height: 30px;
line-height: 30px;
text-align: center;
cursor: pointer;
background-color: rgb(252, 205, 143);
/* 取消双击选中文字 */
user-select: none;
}
执行效果: