Math对象
在js中Math对象是用来解决一些数学问题的,这些对象不需要创建直接使用就行,下面是开发过程中几个比较常用的Math 方法。
<script type="text/javascript">
console.log("abs:" + Math.abs(-19)); //绝对值
console.log("ceil:" + Math.ceil(3.1)) //上取整 4 不论小数点后面的数是几,都取离它上面最近的数
console.log("floor:" + Math.floor(-3.1)) //下取整 -4 不论小数点后面的数是几,都取离它下面最近的数
console.log("round:" + Math.round(3.4)) //四舍五入
console.log("max:" + Math.max(1,2,3,4,5,)) //求最大值
console.log("min:" + Math.min(1,2,3,4,5,)) //求最小值
console.log("random:" + Math.random()) //返回0~1之间的数
</script>
随机数的应用
随机切换背景色
var colors=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];
window.onload=function(){
var bgArr=[];
for(var i=0; i<6; i++){
var index=Math.floor(Math.random()*16);
bgArr.push(colors[index]);
}
var bg=bgArr.join("");
console.log(bg);
document.body.bgColor = "#" + bg;
}
实现步骤
- 首先将所有表示颜色的十六进制数字和字母都封装到一个数组中
- 声明一个空数组用来存放随机出来的6位十六进制码
- 通过数组的push()方法将6位十六进制码存入数组中
- 通过数组的join()方法将数组转换为字符串
- 最后将字符串和“#”拼串,从而改变背景色
随机切换背景图
<form action="" name="form">
随机码:<input type="text" name="code" id="code">
<a href="javascript:show();">查看</a>
</form>
<script type="text/javascript">
var colors=["1.jpg","2.jpg","3.jpg","4.jpg"];
function show(){
var codeObj=document.getElementById("code");
var index=Math.floor(Math.random()*4);
codeObj.value=colors[index];
document.body.style.backgroundImage="url(img/" + codeObj.value + ")";
document.body.style.backgroundRepeat="no-repeat";
}
</script>
当点击查看时文本框显示图片的名称,随机切换背景图
基本原理:
将数组的下标通过随机函数随机挑选出来,并显示下标所对应的内容