amount = prompt("Hur många kronor vill du donera?");
if(amount < 0) alert("Du kan inte donera en negativ summa pengar.");
else if(amount == 0) alert("0 kronor är ingen donation.");
else if(isNaN(amount)) alert("Du måste ange en summa endast i siffror.");
else if(amount > 1000000000000) alert("Håll dig till realistiska summor.");
else alert("Tack för din donation på " + amount + " kronor!");
Nu vill jag göra så att om användaren trycker på avbryt-knappen så ska det inte komma upp något fönster. Eftersom att prompt:en returnerar null när användaren trycker på cancel så försökte jag med:
else if(!amount) break;
Men oavsett om jag har med den raden kod eller inte får jag upp "Tack för din donation på null kronor" när jag trycker på avbryt. Hur gör jag?
amount = prompt("Hur många kronor vill du donera?");
if (amount != null) {
if(amount < 0) alert("Du kan inte donera en negativ summa pengar.");
else if(amount == 0) alert("0 kronor är ingen donation.");
else if(isNaN(amount)) alert("Du måste ange en summa endast i siffror.");
else if(amount > 1000000000000) alert("Håll dig till realistiska summor.");
else alert("Tack för din donation på " + amount + " kronor!");
}
var foo = null, bar = 0
foo == false // ger false
bar == false // ger true, medan
bar === false // ger false, ingen type-coercion
foo == true // ger false
(foo ? "yes" : "no" ) // ger no
foo == bar // false
man kan använda sig av dubbelnegation för att coerca ett värde till true/false:
!foo === true; // true då !foo ger true
!!foo === false; // true, !foo ger true, extra negation ger false
Man kan klippa ganska mycket bland de givna if-satserna