Math.round() 四舍五入
Math.floor() 向下取整
Math.ceil() 向上取整
Math.abs() 取绝对值
Math.sqrt() 开平方
Math.pow() 幂次方
Math.max() 取最大值
Math.min() 取最小值
Math.random(); 取到从0-1之间的随机小数,它包前不包后;所以拿不到最大值1;
//需求:拿到100-300之间的随机数;
Math.random()*(300-100)+100 //从0-100之间的随机数,而且不包含100;
//需求2:拿到100-200之间的随机整数,包含200;
Math.round(Math.random()*(200-100)+100);
求随机数公式: 从n-m之间的随机整数
Math.round(Math.random()*(m-n)+n);
//需求1:求0-61之间的4个不重复的随机整数?
/*思路:
* 1.建立一个数组,用数组保存拿到的每个随机整数
* 2.用for循环去取随机整数,取到一个,往数组中放一个;
* 3.放之前应该检查数组中是否有你,如果有了,这次机会不算;否则,才往数组中放;
* */
/*var ary=[];
for(var i=0; i<4; i++){
var rnd=Math.round(Math.random()*61);
if(ary.indexOf(rnd)!==-1){ //说明重复了
i--; //这次浪费的机会不算;
}else{ //代表数组中没有重复的;
ary.push(rnd);
}
}
document.write(ary);*/
//中午时候,大家尝试用while来实现以上功能;
/*思路:
* 1.数组的长度做为判断条件: ary.length<4
* 2.每次while循环,都需要获取随机整数;
* 3.数组中没有他的时候,才往数组中放;
* */
var ary=[];
while(ary.length<4){
//必须得给数组添加;
var rnd=Math.round(Math.random()*61);
//数组中没有这个数的时候,才给数组中添加
if(ary.indexOf(rnd)===-1){ //说明数组中不存在
ary.push(rnd);
}
}
//需求2:4个不重复的随机验证码
var strCode='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
var ary=[]; //数组是用来去重的;
var str=''; //拼接不重复的验证码
for(var i=0; i<4; i++){
var rnd=Math.round(Math.random()*61);// 随机整数
if(ary.indexOf(rnd)!==-1){//验证当前取的随机整数是否在数组中已经存在,若>=0 说明该值在数组中已存在 重复了
i--; //本轮循环不算数 重新获取随机整数
}else{
ary.push(rnd);
str+=strCode.charAt(rnd);
//添加当前随机数为索引的值
//在往数组中放不重复的随机数的时候,我们可以把这个不重复的随机数做为下标,拼接他对应的字符;
}
}
document.write(str);