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