有没有sleep比使用以下pausecomp函数更好的方法来设计JavaScript (从这里开始)?
function pausecomp(millis)
{
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < millis);
}
Run Code Online (Sandbox Code Playgroud)
这不是JavaScript中Sleep的重复- 动作之间的延迟 ; 我希望在函数中间实现真正的睡眠,而不是在执行代码之前的延迟.
这是一个刻意的设计决定还是我们当前浏览器的问题,将在未来版本中得到纠正?
使用时setTimeout,必须将要执行的代码放入字符串中:
setTimeout('alert("foobar!");', 1000);
Run Code Online (Sandbox Code Playgroud)
但是,我想执行一个函数,我在变量中有一个引用.我希望能够这样做:
var myGreatFunction = function() { alert("foobar!"); };
// ...
setTimeout('myGreatFunction();', 1000);
Run Code Online (Sandbox Code Playgroud)
(虽然在现实生活中,警报是一段较长的代码,并myGreatFunction作为参数传递给其他函数,在其中setTimeout调用它.)
当然,当超时触发时,myGreatFunction不是已识别的功能,因此它不会执行.
我希望javascript让我这样做,但它没有:
setTimeout(function() { myGreatFunction(); }, 1000);
Run Code Online (Sandbox Code Playgroud)
这周围有一个很好的方式吗?
有一种简单的方法可以在Javascript中暂停脚本吗?我正在寻找time.sleep(1)Python中的javascript等价物.我不想要setTimeout(continueExecution, 10)任何东西getTime.可以这样做吗?
编辑:这不是那么容易,但我想我可以完成它 setTimeout
有没有一种简单的方法可以减慢forEach中的迭代速度(使用普通的javascript)?例如:
var items = document.querySelector('.item');
items.forEach(function(el) {
// do stuff with el and pause before the next el;
});
Run Code Online (Sandbox Code Playgroud) 我正在研究一本 Javascript 书,其中有已解决的示例,但有一个示例没有解决方案。我想知道该怎么做...
在javascript(在浏览器中)中,我应该做的是写1-1000的偶数,完成后写1-1000的奇数......我不知道如何在数字书写之间添加非常小的“暂停”以及如何添加知道第一个周期是否结束并开始写入奇数?
这是我的开始方式:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Test</title>
</head>
<body>
<script type="text/javascript">
/* <![CDATA[ */
var i;
for (i = 0; i < 1000; i++)
if ((i % 2) == 0)
document.writeln(i);
/* ]]> */
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) javascript ×7
loops ×2
browser ×1
delay ×1
foreach ×1
numbers ×1
pause ×1
settimeout ×1
sleep ×1