首页 > 其他 > 详细

浅谈setTimeout与setInterval

时间:2015-11-19 14:48:57      阅读:223      评论:0      收藏:0      [点我收藏+]

在吐槽这两个欺骗人的感情的方法之前先提一下这两个函数的用法:

setTimeout( function(){ alert(’你好!’); } , 100);
setInterval( callbackFunction , 100);

上述两函数第一个是指延迟100ms后执行回到函数打印“你好”

第二个函数是指每隔100ms就执行一次callbackFunction函数

但是当我们写了这样一段代码后就会发现一个很奇葩的事情:

 

setTimeout( function(){ while(true){} } , 100);
setTimeout( function(){ alert(’你好!’); } , 200);
setInterval( callbackFunction , 200);

 

程序阻塞在了第一句死循环里了~这和我们理解中的异步好像不太一样~~

这里~不得不得出结论:js至始至终都是单线程的~当我们定义了setTimeout和setInterval时~真实的情况是设置的时间到了后将待执行的方法异步提交到js的执行队列中等待执行~如果队列中没有其他队列在等待则被提交的方法就会被立即执行~给用户的感觉就是一个异步的执行

 

浅谈setTimeout与setInterval

原文:http://www.cnblogs.com/Liujunyan/p/4977310.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!