Answer

Answer

t.me/js_test

Ответ:

Meaning of life: 42

Объяснение:

Тут есть две части: одна часть кода выполнится сейчас, другая часть потом. Должно быть достаточно очевидно, как работают эти две части, но давайте рассмотрим подробнее:

Сейчас:

function now() {
 return 21;
}

function later() { .. }

var answer = now();

setTimeout( later, 1000 );

Потом:

answer = answer * 2;
console.log( "Meaning of life:", answer );

Часть сейчас запустится сразу, по ходу выполнения программы. Но setTimeout() добавляет новое событие (задержку, таймаут), которое выполнится потом, поэтому содержимое функции later() будет выполнено позднее (через 1000 миллисекунд).

Каждый раз, когда вы переносите часть кода в функцию, и указываете, что она должна сработать при определенном событии (таймер, клик, Ajax-запрос), вы создаете часть потом, и следовательно, добавляете асинхронности к вашей программе.

Код для проверки:

function now() {
 return 21;
}

function later() {
 answer = answer * 2;
 console.log( "Meaning of life:", answer );
}

var answer = now();

setTimeout( later, 1000 );

Report Page