javascript實現(xiàn)的像java、c#之類的sleep暫停的函數(shù)代碼
更新時間:2010年03月04日 17:31:11 作者:
我們都知道java、c#、vb等語言都有sleep暫停的函數(shù),而JavaScript腳本沒有類似的功能。
下面就是我的實現(xiàn)的方法:
代碼
<script type="text/javascript">
function test()
{
var s="javascript--暫停函數(shù)";
setTimeout(
function(){
eval(sleep(test)); //執(zhí)行return之后的代碼,也就是“alert(s);”
},
2000
); //兩秒后執(zhí)行
return; //運行到這就退出
alert(s);
}
function sleep(func)
{
if (func == null)
{
return ;
}
var reg= /[\n\r]/g;
var funcStr = func.toString().replace(reg,''); //替換回車和換行符
reg = /.+?sleep.+?return;/;
funcStr = '{' + funcStr.replace(reg,''); //去掉函數(shù)test,return之前的代碼
return funcStr;
}
test();
</script>
這個可能有一些局限性,無法像java、C#中的sleep函數(shù)那樣直觀,好用。
但我覺得還蠻有趣的,就拿出來跟大家分享下。
代碼
復(fù)制代碼 代碼如下:
<script type="text/javascript">
function test()
{
var s="javascript--暫停函數(shù)";
setTimeout(
function(){
eval(sleep(test)); //執(zhí)行return之后的代碼,也就是“alert(s);”
},
2000
); //兩秒后執(zhí)行
return; //運行到這就退出
alert(s);
}
function sleep(func)
{
if (func == null)
{
return ;
}
var reg= /[\n\r]/g;
var funcStr = func.toString().replace(reg,''); //替換回車和換行符
reg = /.+?sleep.+?return;/;
funcStr = '{' + funcStr.replace(reg,''); //去掉函數(shù)test,return之前的代碼
return funcStr;
}
test();
</script>
這個可能有一些局限性,無法像java、C#中的sleep函數(shù)那樣直觀,好用。
但我覺得還蠻有趣的,就拿出來跟大家分享下。
相關(guān)文章
JS實現(xiàn)兩個大數(shù)(整數(shù))相乘
大數(shù),即超出語言所能表示的數(shù)字最大范圍的數(shù)字,那么如何實現(xiàn)兩個大數(shù)相乘呢?下面有個不錯的方法,大家可以參考下2014-04-04
在element-ui的el-tree組件中用render函數(shù)生成el-button的實例代碼
這篇文章主要介紹了在element-ui的el-tree組件中用render函數(shù)生成el-button 的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11
JavaScript 函數(shù)惰性載入的實現(xiàn)及其優(yōu)點介紹
惰性載入表示函數(shù)執(zhí)行的分支只會在函數(shù)第一次掉用的時候執(zhí)行,在第一次調(diào)用過程中,該函數(shù)會被覆蓋為另一個按照合適方式執(zhí)行的函數(shù),這樣任何對原函數(shù)的調(diào)用就不用再經(jīng)過執(zhí)行的分支了2013-08-08
JavaScript雙問號操作符(??)詳解及如何解決使用||時因類型轉(zhuǎn)換帶來的問題
雙問號操作符是ES2020引入的一個用于處理變量默認值的新特性,與傳統(tǒng)的邏輯或操作符||不同,這篇文章主要介紹了JavaScript雙問號操作符(??)詳解及如何解決使用||時因類型轉(zhuǎn)換帶來的問題,需要的朋友可以參考下2025-04-04

