手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >js基于setTimeout与setInterval实现多线程
js基于setTimeout与setInterval实现多线程
摘要:本文实例讲述了js基于setTimeout与setInterval实现多线程的方法。分享给大家供大家参考,具体如下:javascript无法...

本文实例讲述了js基于setTimeout与setInterval实现多线程的方法。分享给大家供大家参考,具体如下:

javascript无法实现线程阻塞(sleep),原因是因为sleep涉及系统调用。js出于安全考虑是不允许系统调用的。

如果一定要实现语句继续执行就只能用while(1)空转的方法消耗CPU,判断到了时间就break。不过这个方法也不是真正sleep。

只执行一次的定时器

<script> //定时器使用的是异步的方式运行的 function hello(){ alert("hello"); } //使用方法名字执行方法 var t1 = window.setTimeout(hello,1000); var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法 window.clearTimeout(t1);//去掉定时器 </script>

重复执行的定时器

<script> function hello(){ alert("hello"); } //重复执行某个方法 var t1 = window.setInterval(hello,1000); var t2 = window.setInterval("hello()",3000); //去掉定时器的方法 window.clearInterval(t1); </script>

问题:

如果在一个页面中有两个方法都是在页面加载完成之后执行的,但是实际运行的结果不能按照自己想象的先后顺序执行,该如何解决呢?

解决方法:

可以在onload方法中添加一个定时器,设置一个定时器,“延迟”一段时间之后再运行,这样就可以人为区分页面加载运行方法的先后顺序了。

希望本文所述对大家JavaScript程序设计有所帮助。

【js基于setTimeout与setInterval实现多线程】相关文章:

jQuery实现文本展开收缩特效

jquery插件validation实现验证身份证号等

jQuery实现延迟跳转的方法

基于jQuery实现的无刷新表格分页实例

用JavaScript实现对话框的教程

jquery实现弹出层效果实例

javascript使用Promise对象实现异步编程

js实现两点之间画线的方法

基于jquery实现下拉框美化特效

基于JavaScript实现动态添加删除表格的行

精品推荐
分类导航