Un pregunta acerca de "if"
importancia: 5
¿Cuáles de estos alert
s va a ejecutarse?
¿Cuáles serán los resultados de las expresiones dentro de if(...)
?
if (-1 || 0) alert( "primero" );
if (-1 && 0) alert( "segundo" );
if (null || -1 && 1) alert( "tercero" );
La respuesta: el primero y el tercero serán ejecutados.
Detalles:
// Corre.
// El resultado de -1 || 0 = -1, valor verdadero
if (-1 || 0) alert( "primero" );
// No corre.
// -1 && 0 = 0, valor falso
if (-1 && 0) alert( "segundo" );
// Se ejecuta
// El operador && tiene mayor precedencia que ||
// Así que -1 && 1 se ejecuta primero, dándonos la cadena:
// null || -1 && 1 -> null || 1 -> 1
if (null || -1 && 1) alert( "tercero" );