Что выведет этот код?
var y = 1; var x = y = typeof x; alert(x + 1);
2number1NaNundefined1- Будет ошибка
Решение
Решение
Ответ: 4
var y = 1; var x = y = typeof x; alert(x + 1);
- До начала выполнения кода обе переменные равны
undefined. - Затем выполняется присваивание
y = 1. - Присваивание
x = y = typeof xвыполняется справа налево (как и все тройные присваивания). Сначалаy = typeof x, и так какxравенundefined, то вyзаписываетсяtypeof x == "undefined"— строка.Затем идёт присвоение
x = y. В итоге получаем, чтоx == "undefined". - Последняя строка прибавляет
1. Так как слева строка, то оператор"+"преобразует и1к строке. - Ответ:
"undefined1".
#467