Javascript学习笔记-Day5


Day5
经过之前几天的学习,现在我们可以来做个小东西了-双色球选号。
双色球规则: 双色球投注区分为红色球号码区和蓝色球号码区,红色球号码区由1-33共三十三个号码组成,蓝色球号码区由1-16共十六个号码组成。投注时选择6个红色球号码和1个蓝色球号码组成一注进行单式投注。

1.双色球随机号码

先封装几个工具函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//获取随机整数
function rnd(n,m){
return parseInt(n+Math.random()*(m-n));
};
//数组查找函数
function findInArr(n,arr){
for(var i=0;i<arr.length;i++){
if(arr[i]==n){
return true;
}
}
return false;
};
//前导零添加
function fixZero(n){
if(n<10){
return '0'+n;
}
else{
return ''+n;
}
};

然后是生成号码的函数:

1
2
3
4
5
6
7
8
9
10
11
12
function randomBall(){
var array=[];
var i=0;
while(array.length<6){
var num=fixZero(rnd(1,34));
if(!findInArr(num,array)){
array.push(num);
}
}
array.push(fixZero(rnd(1,17)));//添加蓝球号码
return array;
}

生成了号码数组,放到页面上面就可以了。查看demo

2.变量、参数、返回值

变量、参数和返回值都是“仓库”,可以装任何东西,值,包括函数。

3.定时器

1.永远执行
setInterval(函数,毫秒);
每隔一段时间执行一次函数。
如果需要关闭,就需要把setInterval在定义的时候就先存下来。然后使用clearInterval来清除定时器。

1
2
var timer=setInterval(函数名,间隔的时间);
clearInterval(timer);

2.只执行一次
setTimeout(函数,多少时间后执行)
清空定时器和setInterval一样,只不过使用的是clearTimeout。

1
2
var timer=setTimeout(函数名,多长时间后运行);
clearTimeout(timer);

tips:
为了优化系统性能考虑,计时器不使用的时候需要清空。另外使用前最好清空一下,以免产生未知的错误。
clearInterval和clearTimeout可以互相清空定时器,但是还是建议配对使用。
用定时器要存在变量里面,如果直接使用,之后就无法找到这个定时器来清空了。