超时调用
语法
setTimeout(code,millisec)
功能
在指定的毫秒数后调用函数或计算表达式
参数说明
- code:要调用的函数或要执行的JavaScript代码串
- millisec:在执行代码前需等待的毫秒数
说明:setTimeout()只执行code一次。如果要多次调用,可以让code自身再次调用setTimeout()
//使用超时调用实现,和第二种方法一样,可以输出1-10
function inCreamentNum(){
console.log(num);
num++;
if(num<=max){
setTimeout(inCreamentNum,1000);
}else{
clearInterval(timer);
}
}
timer=setTimeout(inCreamentNum,1000);
间歇调用
语法
setInterval(code,millisec)
功能
每隔指定的时间执行一次代码
参数说明
- code:要调用的函数或要执行的代码串
- millisec:周期性执行或调用code之间的时间间隔,以毫秒计
//4秒后弹出hello
//setTimeout("alert('hello')",4000);
//自定义函数
var fnCall=function(){
alert("world");
}
//匿名函数
var timeout1=setTimeout(function(){
alert("hello");
},2000)//2秒后弹出hello
clearTimeout(timeout1);//取消超时调用
//从上往下执行,弹出hello被取消
//setTimeout(fnCall,5000);
清除间歇调用
语法
clearInterval(id_of_setinterval)
功能
取消由setInterval()方法设置的interval
参数说明
id_of_setinterval:由setInterval()返回的ID值
//4秒后弹出hello
//setTimeout("alert('hello')",4000);
//自定义函数
var fnCall=function(){
alert("world");
}
//匿名函数
var timeout1=setTimeout(function(){
alert("hello");
},2000)//2秒后弹出hello
clearTimeout(timeout1);//取消超时调用
//从上往下执行,弹出hello被取消
//setTimeout(fnCall,5000);
var num=1,
max=10,
timer="null";//null释放内存
//每隔一秒钟num递增一次,直到num的值等于max,清除定时器
timer=setInterval(function(){
//第一种方法:输出从2-11
num++;
if(num>max){
clearInterval(timer);
}
console.log(num);
//第二种方法:输出从1-10
console.log(num);
num++;
if(num>max){
clearInterval(timer);
}
},1000)