Странное случайное значение в качестве параметра обработчика интервалов по умолчанию

StackOverflow https://stackoverflow.com/questions/2106583

  •  21-09-2019
  •  | 
  •  

Вопрос

Только что наткнулся на это.На самом деле это ни на что не влияет, но мне интересно, почему это происходит.

Если я запущу следующий код в Firefox с включенным firebug:

setInterval(function(param) 
     {
        console.log("param is %o",param)
     },500);

param, похоже, присваивается неопределенно случайное значение:

   param is -2
    param is -1
    param is -2
    param is 1
    param is -1
    param is 6
    param is -1
    param is 0
    param is -2
    param is 2
    param is 0
    param is 2
    param is 0
    param is 0
    param is 0
[..]
    param is 0
    param is 0
    param is 0
    param is 0
    param is 0
    param is 0
    param is 0
    param is 911
    param is 0
    param is 0
    param is 0
    param is -1

Я действительно ценю, что я не передаю никаких аргументов в setInterval для передачи функции, но почему javascript выбирает передачу этого случайного числа?

Я бы ожидал undefined или что-то в этом роде...

Ваше здоровье

p.s.Не тестировался в других браузерах

Это было полезно?

Решение

Похоже, это зависит от загрузки процессора Firefox.

Я бы предположил, что это задержка с момента, когда должен был быть вызван обратный вызов.

Редактировать: Я был прав.Это количество миллисекунд с опозданием на обратный вызов.

Другие советы

это идентификатор интервала, автоматически устанавливаемый window.setInterval.если вы сохраните результат, вы можете очистить интервал позже (чтобы остановить его).

var intID = window.setInterval( function(){ alert("I'm annoying!"); }, 10000 );

// this will kill it before it annoys you, :D
window.clearInterval( intID );

это также относится к window.setTimeout:

var timeID = window.setTimeout( function(){ alert("I'm annoying!"); }, 10000 );

// this will kill it before it annoys you, :D
window.clearTimeout( timeID );
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top