javascript中不提供sleep功能如何實現(xiàn)這個功能
更新時間:2014年05月27日 09:11:59 作者:
javascript中不提供sleep功能,而我們時長會用到這個功能,下面與大家分享個不錯的解決方法,而且在不同的機器上的執(zhí)行速度是一致的
javascript中不提供sleep功能,而我們時長會用到這個功能。
有一種思路是跑一段循環(huán)體,讓程序空耗CPU的時間來實現(xiàn)延時。這有一個不足,不同的機器CPU的執(zhí)行速度是不一樣的,這很容易導(dǎo)致的慢的機器會SLEEP很久。
筆者從別的論壇看到一種機智的解決方法,在不同的機器上的執(zhí)行速度是一致的。在此與大家共享。
function sleep(n)
{
var start=new Date().getTime();
while(true) if(new Date().getTime()-start>n) break;
}
當(dāng)然這個方法依然是靠空轉(zhuǎn)CPU的方法。
還有一個方法是使用setTimeout()函數(shù)。
函數(shù)語法如下:setTimeout(code,millisec)
使用范例:
var t=setTimeout("alert('5 seconds!')",5000)
這段代碼的作用是millisec后執(zhí)行代碼code,范例中就是5000毫秒后執(zhí)行了alert函數(shù)。也可以達到和sleep相同的效果。
有一種思路是跑一段循環(huán)體,讓程序空耗CPU的時間來實現(xiàn)延時。這有一個不足,不同的機器CPU的執(zhí)行速度是不一樣的,這很容易導(dǎo)致的慢的機器會SLEEP很久。
筆者從別的論壇看到一種機智的解決方法,在不同的機器上的執(zhí)行速度是一致的。在此與大家共享。
復(fù)制代碼 代碼如下:
function sleep(n)
{
var start=new Date().getTime();
while(true) if(new Date().getTime()-start>n) break;
}
當(dāng)然這個方法依然是靠空轉(zhuǎn)CPU的方法。
還有一個方法是使用setTimeout()函數(shù)。
函數(shù)語法如下:setTimeout(code,millisec)
使用范例:
var t=setTimeout("alert('5 seconds!')",5000)
這段代碼的作用是millisec后執(zhí)行代碼code,范例中就是5000毫秒后執(zhí)行了alert函數(shù)。也可以達到和sleep相同的效果。
相關(guān)文章
js open() 與showModalDialog()方法使用介紹
項目開發(fā)中經(jīng)常要用到j(luò)s open() 與showModalDialog()方法,下面有個不錯的示例,喜歡的朋友可以研究下2013-09-09table對象中的insertRow與deleteRow使用示例
本文為大家介紹下table對象insertRow deleteRow的使用示例,適合新手朋友們2014-01-01微信小程序如何修改本地緩存key中單個數(shù)據(jù)的詳解
這篇文章主要介紹了微信小程序如何修改本地緩存key中單個數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04深入理解JavaScript系列(1) 編寫高質(zhì)量JavaScript代碼的基本要點
才華橫溢的Stoyan Stefanov,在他寫的由O’Reilly初版的新書《JavaScript Patterns》(JavaScript模式)中,我想要是為我們的讀者貢獻其摘要,那會是件很美妙的事情2012-01-01javascript實現(xiàn)blob加密視頻源地址的方法
這篇文章主要介紹了javascript實現(xiàn)blob加密視頻源地址的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08