内置对象:Math对象
2019-02-15 本文已影响0人
让思念入土
js里自带一些对象,供我们开发者使用,这些对象提前内置准备好了一些常用的属性和方法,我们直接拿来用就可以了。
比如:圆周率 3.1415926 Math.PI
Math内置对象 不是一个构造函数 所以直接使用不需要new
Math.PI
直接使用,不需要创建
console.log(Math.PI)//3.1415926
Math.max() / Math.min()
返回一组数字中的最大/小值,如果给定的参数中至少有一个参数无法转换为数字则返回NaN。
console.log(Math.max(10,22,5));//22
console.log(Math.max(10,'a',5));//NaN
console.log(Math.min(10,22,5));//5
console.log(Math.min(10,'a,5));//NaN
利用对象模拟max和min
var myMath = {
max: function () {
var max = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (max < arguments[i]) {
max = arguments[i];
}
}
return max;
},
min: function () {
var min = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (min > arguments[i]) {
min = arguments[i];
}
}
return min;
}
}
alert(myMath.max(1, 2, 3, 5)); //5
alert(myMath.min(1, 12, 3, 5)); //1
取整函数
Math.floor 向下取整
console.log(Math.floor(1.1));//1
console.log(Math.floor(1.5));//1
console.log(Math.floor(1.9));//1
console.log(Math.floor(-1.1));//-2
console.log(Math.floor(-1.5));//-2
console.log(Math.floor(-1.9));//-22、
Math.ceil向上取整
console.log(Math.ceil(1.1));//2
console.log(Math.ceil(1.5));//2
console.log(Math.ceil(1.9));//2
console.log(Math.ceil(-1.1));//-1
console.log(Math.ceil(-1.5));//-1
console.log(Math.ceil(-1.9));//-1
Math.round四舍五入 就近取整
console.log(Math.round(1.1));//1
console.log(Math.round(1.9));//2
console.log(Math.round(-1.1));//-1
console.log(Math.round(-1.9));//-2
//.5谁大取谁
console.log(Math.round(1.5));//2
console.log(Math.round(-1.5));//-1
Math.random生成随机数(重点)
返回的是0~1之间的随机小数 [0,1)
这个随机函数括号之间不写参数
console.log(Math.random());
得到一个两个数之间的随机整数,包括两个数在内的方法:
function getRandom(min,max){
return Math.floor(Math.random()*(max-min+1))+min;
}
console.log(getRandom(0,5));
案例:随机生成背景颜色
<style>
body {
background-color: rgb(0, 255, 0);
}
</style>
<script>
function getRandom(min,max){
return Math.floor(Math.random()*(max-min+1))+min;
}
console.log(getRandom(0,5));
function getRandomColor(){
var c1=getRandom(0,255);
var c2=getRandom(0,255);
var c3=getRandom(0,255);
return 'rgb(' + c1 + ',' + c2 + ',' + c3 + ')'
}
console.log(getRandomColor());
// 下面的代码演示写的程序没有错误
window.onload = function() {
document.body.style.backgroundColor = getRandomColor();
}
</script>
Math.abs()
alert(Math.abs(-1)); //1
alert(Math.abs('1'));//1 隐式转换 讲字符型转换为数值型 再取绝对值
alert(Math.abs('abs'));//NaN 如果里面参数 有非数字型的 字符串 返回的结果是 NaN