大家在做小特效时免不了要用到随机的东西,比如:随机整数、随机颜色、随机数组、不重复的随机数组等等。如果每每用到这些小东西的时候,咱们都要自己重新写,是不是有点浪费时间?因为大家的一分一秒都是珍贵的!
好了,废话不多说,看代码:
随机整数
<script>
function randomNum(a,b){//a,b 是所要生成的范围[a,b]
if(a>b){ //这里做了一些安全处理,如果a<b,程序也不会报错,一般大家也不会输入错误,也难免有时候手下误
var temp= b;
b = a;
a = temp;
}
var ran= Math.floor(Math.random() * (b - a + 1)+a);
return ran;
}
</script>
随机颜色
<script>
function RandomColor(a,b){//设置了取色范围,可以自定义哦!这样可以调整字体和背景的反差,防止有时候颜色过于相近,文本看不到;
if(a>=256|| a<0|| b>=256 || b<0) {
alert('请输入正确的颜色区间!')//做了一些安全处理,防止区间出错,如果出错,会弹出提示
}
else{
var r= randomNum(a, b);
var g= randomNum(a, b);
var b= randomNum(a, b);
var color= 'rgb('+r+','+ g +','+ b+')';
return color;
}
}
</script>
不重复的随机数组
<script>
function arr(a,b,c){
var m=[randomNumber(a, b)];
var mark;
if(c> b-a+1){
alert('数组长度定义或取值区间定义错误!');
return 0;
}
else{
while(m.length!=c){
n=Random.Number(a, b);
for(vari=0;i<m.length;i++){
if(n==m[i]){
mark=0;
break;
}
else{
mark=1;
}
}
if(mark==1){
m.length++;
m[m.length-1]=n;
}
}
return m;
}
}
</script>
大家有时候难免会用到一个随机数组,这个简单,如果要是不重复,就需要动动脑筋了,这个函数的a,b参数定义取值范围[a,b],c是要求的数组长度,另外做了安全处理,以免数组取值范围小于数组长度陷入死循环。