Введение в JavaScript

(часть 2)

Лыкошин Александр

2020-24

Варианты передачи callback функции в setTimeout

Пример использования setTimeout с передачей callback функции в качестве параметра
// обычная функция
function fn() {
  console.log('after timeout');
}

const TIMEOUT = 1000; // таймаут 1 секунда

setTimeout(fn, TIMEOUT);
// стрелочная функция (arrow function)
const fn = () {
  console.log('after timeout');
}

const TIMEOUT = 1000; // таймаут 1 секунда

setTimeout(fn, TIMEOUT);
Тот же код, с использованием inline (встроенной) функции
// Именованая функция (named function)
setTimeout(
  function fn() {
    console.log('after timeout');
  },
  1000
);
// Анонимная функция (anonymous function)
setTimeout(
  function () {
    console.log('after timeout');
  },
  1000
);
// Стрелочная функция (arrow function)
setTimeout(
  () => {
    console.log('after timeout');
  },
  1000
);
// если стрелочная функция не возвращает результат, фигурные скобки можно опустить
setTimeout(() => console.log('after timeout'), 1000);

В каком порядке будут выведены сообщения в консоль?

//
console.log('Begin');

setTimeout(() => {
  console.log('Done');
}, 1000);

console.log('End');
Begin
End
Done