Який результат alerts, об'єднаних АБО?
важливість: 3
Що виведе код нижче?
alert( alert(1) || 2 || alert(3) );
Відповідь: спочатку 1
, потім 2
.
alert( alert(1) || 2 || alert(3) );
Виклик alert
не повертає значення. Або, іншими словами, повертає undefined
.
- Перший АБО
||
обчислює свій лівий операндalert(1)
. Це показує перше повідомлення з1
. alert
повертаєundefined
, тому АБО переходить до другого операнда, шукаючи правдиве значення.- Другий операнд
2
є правдивим, тому виконання зупинено, повернуто2
і потім показано зовнішнімalert
.
3
не буде виведене, тому що обчислення не досягає alert(3)
.