
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
JavaScript代码中,每一个函数都可以设定在某一个时刻之后执行:
setTimeout(function,msec[,arg1...argN]),会在多少毫秒之后运行这个函数。后面的参数会传递给要执行的函数。
setInterval(function,msec[,arg1...argN]),与setTimeout类似,只不过是每这么多毫秒执行一次。
还有两个方法,clearTimeout()和 clearInterval(),可以清除计时器。
var timerID = setTimeout(myfunction,500);
clearTimeout(timerID);
需要注意的是:
setTimeout和setInteral会给函数传递一个引用。setTimeout(myfunction(),500)这样的代码会立即执行这个函数。
毫秒数不会那么的精确。他只会在浏览器进程空闲的时候才会比较准确的按时间执行。
不要过于依赖这样的执行顺序:setTimeout(f1,50),setTimeout(f2,50),有可能f2()会先执行。
基于计时器的执行
定时的代码不会立即执行,这样浏览器在这期间还能做一些别的事情。因此我们也可以将一个长的任务分成好几个部分来执行。
举一个简单的饿例子,加入我们想按照顺序执行f1(),f2(),f3():
function ProcessThread(func) {
var ms = 20;
setTimeout(function() {
func.shift()();
if (func) {
setTimeout(arguments.callee, ms);
}
}, ms);
}
ProcessThread([f1, f2, f3]);
更多武汉IT培训相关资讯,请扫描下方二维码