JavaScriptIntervalli e Timeout


Sintassi

  • timeoutID = setTimeout (function () {}, millisecondi)
  • intervalID = setInterval (function () {}, millisecondi)
  • timeoutID = setTimeout (function () {}, millisecondi, parametro, parametro, ...)
  • intervalID = setInterval (function () {}, millisecondi, parametro, parametro, ...)
  • clearTimeout (timeoutID)
  • clearInterval (intervalID)

Osservazioni

Se il ritardo non viene specificato, il valore predefinito è 0 millisecondi. Tuttavia, il ritardo effettivo sarà più lungo di quello ; ad esempio, la specifica HTML5 specifica un ritardo minimo di 4 millisecondi.

Anche quando setTimeout viene chiamato con un ritardo pari a zero, la funzione chiamata da setTimeout verrà eseguita in modo asincrono.

Notare che molte operazioni come la manipolazione DOM non sono necessariamente completate anche se è stata eseguita l'operazione e passate alla successiva frase di codice, quindi non si deve presumere che funzioneranno in modo sincrono.

L'utilizzo di setTimeout(someFunc, 0) accoda l'esecuzione della funzione someFunc alla fine dello stack di chiamate del motore JavaScript corrente, quindi la funzione verrà chiamata al termine di tali operazioni.

È possibile passare una stringa contenente codice JavaScript ( setTimeout("some..code", 1000) ) al posto della funzione ( setTimeout(function(){some..code}, 1000) ). Se il codice è inserito in una stringa, verrà analizzato in seguito utilizzando eval() . I timeout in stile stringa non sono consigliati per motivi di prestazioni, chiarezza e talvolta di sicurezza, ma è possibile che venga visualizzato codice meno recente che utilizza questo stile. Le funzionalità di passaggio sono state supportate da Netscape Navigator 4.0 e Internet Explorer 5.0.

Intervalli e Timeout Esempi correlati