Как следующее выполняется в Javascript, шаг за шагом? - PullRequest
0 голосов
/ 30 марта 2019

var a;
console.log(a);

+function() {
  alert("Hello from IIFE!");
}();

console.log(a);
a = 'Hi';

Ответ в консоли: не определено ALERT POPUP Привет

Вопрос: Либо оба должны давать неопределенное значение, либо оба должны отображать Привет

Как работает JavaScript?

Выполнение по-разному

1 Ответ

0 голосов
/ 30 марта 2019
  1. a установлено на undefined.
  2. undefined зарегистрировано.
  3. предупреждение немедленно вызывается "Hello from IIFE!"
  4. undefined
  5. a установлен на 'Hi'

Если вы скопируете и вставите свой собственный текст в инструменты разработчика, вы увидите этот шаблон с небольшим отличием.В новом сеансе консоли вы получите:

  1. undefined
  2. alert
  3. undefined
  4. 'Hi'

Последний Привет, и я предполагаю, что источником вашей путаницы является возвращаемое значение от присвоения значения переменной.

...