Hvad er resultatet af OR mellem alert()?
vigtighed: 3
Hvad vil koden nedenfor vise?
alert( alert(1) || 2 || alert(3) );
Svaret er: først 1, så 2.
alert( alert(1) || 2 || alert(3) );
Kaldet alert returnerer ikke en værdi. Med andre ord returnerer det undefined.
- Den første OR
||evaluerer sin venstre operandalert(1). Det viser den første besked med1. alertreturnererundefined, så OR går videre til den anden operand for at lede efter en sandfærdig værdi.- Den anden operand
2er sandfærdig, så udførelsen stoppes,2returneres og vises derefter af den ydre alert.
Der vil ikke være nogen 3, fordi evalueringen ikke når alert(3).