如何在javascript中设置延迟?

时间:2015-10-11 21:09:09

标签: javascript

//--Need a way to set a delay here--\\\

  var result = ['Rock', 'Paper', 'Scissors',][Math.floor(Math.random() * 3)]
  cpuReply.value = result
//--end of script--\\\

好的,所以我试图在这两行代码之前找到一种方法来添加延迟。我听过很多关于使用.delay的建议,但我不知道如何定义它,如果我这样做,通常会说出意想不到的数字

  delay(5000)
  var result = ['Rock', 'Paper', 'Scissors',][Math.floor(Math.random() * 3)]
  cpuReply.value = result

我不确定是否输入了延迟(告诉我它是否错误)并请帮我解决这个问题。

2 个答案:

答案 0 :(得分:2)

window.setTimeout就是你要找的东西。

请记住它是异步的,因此其他事情可以(并且将会)在超时功能之外执行。 setTimeout比其他选项更受欢迎,因为它是"非阻塞"。 IE :它不会导致网页在等待时冻结。

请记住:不应使用setTimeout来测量时间。这是因为当超时完成时,函数会被添加到callstack中,因此您无法保证它会立即执行。

window.setTimeout(function(){ 
    var result = ['Rock', 'Paper', 'Scissors',][Math.floor(Math.random() * 3)]
    cpuReply.value = result

}, 5000);// time is in 1000ths of a second 

答案 1 :(得分:-1)

如何使用

  

setTimeout()

像这样的东西

setTimeout(function () {
            var result = ['Rock', 'Paper', 'Scissors',][Math.floor(Math.random() * 3)]
            cpuReply.value = result
 }, 5000);