Что выведет alert (ИЛИ)?
важность: 3
Что выведет код ниже?
alert( alert(1) || 2 || alert(3) );
Ответ: сначала 1
, затем 2
.
alert( alert(1) || 2 || alert(3) );
Вызов alert
не возвращает значения, или, иначе говоря, возвращает undefined
.
- Первый оператор ИЛИ
||
выполнит первыйalert(1)
. - Получит
undefined
и пойдёт дальше, ко второму операнду в поисках истинного значения. - Так как второй операнд
2
является истинным, то вычисления завершатся, результатомundefined || 2
будет2
, которое будет выведено внешнимalert( .... )
.
Второй оператор ||
не будет выполнен, выполнение до alert(3)
не дойдёт, поэтому 3
выведено не будет.