Мастер-классы по Javascript Екатеринбург Ростов-на-Дону Москва Узнать больше...
Содержание (скрыть) Содержание (показать)

JS-вопросник

Что выведет этот код?

var y = 1;
var x = y = typeof x;

alert(x + 1);

  1. 2
  2. number1
  3. NaN
  4. undefined1
  5. Будет ошибка
Решение
Решение

Ответ: 4

var y = 1;
var x = y = typeof x;

alert(x + 1);

  1. До начала выполнения кода обе переменные равны undefined.
  2. Затем выполняется присваивание y = 1.
  3. Присваивание x = y = typeof x выполняется справа налево (как и все тройные присваивания). Сначала y = typeof x, и так как x равен undefined, то в y записывается typeof x == "undefined" — строка.

    Затем идёт присвоениеx = y. В итоге получаем, что x == "undefined".

  4. Последняя строка прибавляет 1. Так как слева строка, то оператор "+" преобразует и 1 к строке.
  5. Ответ: "undefined1".
#467
Наверх

Реклама

Нашли опечатку?

Нашли опечатку на сайте? Что-то кажется странным?
Выделите соответствующий текст и нажмите Ctrl+Enter!

Последние Комментарии

Помоги другим!

Помоги другим узнать о хорошей статье!