JavaScript 实现类似 Java/C# 的 Sleep 暂停功能

作者:橙子时间:2026-10-24 16:05:06浏览:405

本文介绍在 JavaScript 中实现类似 Java 或 C# 中 sleep 暂停功能的方法。通过 setTimeout 设置延迟,并结合字符串解析技术提取函数后续代码,在指定时间后执行剩余逻辑。虽然存在局限性,但这种非直观的异步处理方式提供了一种有趣的实现思路,适用于特定的前端交互场景。

JavaScript 实现 Sleep 暂停功能的方法

以下是具体的实现方案。


相关代码示例。


具体代码实现如下:

 
<script type="text/javascript">
function test()
{ 
var s="javascript--暂停函数";
setTimeout(
function(){
eval(sleep(test)); //执行return之后的代码,也就是“alert(s);”
}, 
2000
); //两秒后执行
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,''); //去掉函数test,return之前的代码
return funcStr;
} 
test();
</script>

该方法存在一定的局限性,无法像 Java 或 C# 中的 sleep 函数那样直观且易用。


不过,我认为这种实现方式颇具趣味性,特此分享。

作者最新文章