javascript中不提供sleep功能如何实现这个功能
内容摘要
javascript中不提供sleep功能,而我们时长会用到这个功能。
有一种思路是跑一段循环体,让程序空耗CPU的时间来实现延时。这有一个不足,不同的机器CPU的执行速度是不一样的,这很
有一种思路是跑一段循环体,让程序空耗CPU的时间来实现延时。这有一个不足,不同的机器CPU的执行速度是不一样的,这很
文章正文
javascript中不提供sleep功能,而我们时长会用到这个功能。
有一种思路是跑一段循环体,让程序空耗CPU的时间来实现延时。这有一个不足,不同的机器CPU的执行速度是不一样的,这很容易导致的慢的机器会SLEEP很久。
笔者从别的论坛看到一种机智的解决方法,在不同的机器上的执行速度是一致的。在此与大家共享。
function sleep(n)
{
var start=new Date().getTime();
while(true) if(new Date().getTime()-start>n) break;
}
当然这个方法依然是靠空转CPU的方法。
还有一个方法是使用setTimeout()函数。
函数语法如下:setTimeout(code,millisec)
使用范例:
var t=setTimeout("alert('5 seconds!')",5000)
这段代码的作用是millisec后执行代码code,范例中就是5000毫秒后执行了alert函数。也可以达到和sleep相同的效果。
有一种思路是跑一段循环体,让程序空耗CPU的时间来实现延时。这有一个不足,不同的机器CPU的执行速度是不一样的,这很容易导致的慢的机器会SLEEP很久。
笔者从别的论坛看到一种机智的解决方法,在不同的机器上的执行速度是一致的。在此与大家共享。
复制代码 代码如下:
function sleep(n)
{
var start=new Date().getTime();
while(true) if(new Date().getTime()-start>n) break;
}
当然这个方法依然是靠空转CPU的方法。
还有一个方法是使用setTimeout()函数。
函数语法如下:setTimeout(code,millisec)
使用范例:
var t=setTimeout("alert('5 seconds!')",5000)
这段代码的作用是millisec后执行代码code,范例中就是5000毫秒后执行了alert函数。也可以达到和sleep相同的效果。
代码注释