В отличие от метода setTimeout, setInterval выполняет код много раз, через равные промежутки времени, пока не будет остановлен при помощи clearInterval.
В каком виде указывать первый параметр - разницы нет.
При указании строки кода - динамически создается функция func с телом code.
Но более правильным считается объявление функции в явном виде, например так:
setInterval(function(){alert(...)}, 1000)
Вызов со строкой существует для совместимости с прежними версиями javascript.
this
Функция выполняется в другом контексте, со значением this = window, поэтому о передаче правильного this надо позаботиться отдельно.
Пример:
Выделить все
object = {
func: function(){alert(this)}}
setInterval( object.func , 1000)// this будет равно window// правильный вариант с передачей this
setInterval(function(){ object.func.call(object)} , 1000)
Отмена выполнения
Вы можете отменить выполнение setInterval при помощи clearInterval, используя для этого идентификатор intervalID.
Пример:
var intervalID = setInterval(...)
clearInterval(intervalID)
Это интересно
Средний возраст пользователей Internet в мире составляет 33 года.