Питання про "if"
важливість: 5
Які з цих alert
буде виконано?
Якими будуть результати виразів у if(...)
?
if (-1 || 0) alert( 'перший' );
if (-1 && 0) alert( 'другий' );
if (null || -1 && 1) alert( 'третій' );
Відповідь: перший і третій виконаються.
Деталі:
// Виконається.
// Результат -1 || 0 = -1, правдивий
if (-1 || 0) alert( 'перший' );
// Не виконається
// -1 && 0 = 0, хибний
if (-1 && 0) alert( 'другий' );
// Виконається
// Оператор && має більший пріоритет, ніж ||
// тому -1 && 1 виконається першим, даючи нам послідовність:
// null || -1 && 1 -> null || 1 -> 1
if (null || -1 && 1) alert( 'третій' );