Что выведет 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 выведено не будет.