Răspuns: primul și al treilea se vor executa.
Detalii:
// Este executat.
// Rezultatul dintre -1 || 0 = -1, truthy
if (-1 || 0) alert( 'primul' );
// Nu este executat
// -1 && 0 = 0, falsy
if (-1 && 0) alert( 'al doilea' );
// Este executat
// Oparatorul && are o prioritate mai mare decât ||
// așadar -1 && 1 este exuctat mai întâi, dând lanțul următor:
// null || -1 && 1 -> null || 1 -> 1
if (null || -1 && 1) alert( 'al treilea' );