Inhoud

  1. Geen paragrafen H1 - Voorwoord
  2. Geeft paragrafen weer H2 - Wat is JavaScript?
    1. §1. Wat kun je met JavaScript?
    2. §2. De script-tag
    3. §3. Opdrachten
  3. Geeft paragrafen weer H3 - Statements (opdrachten)
    1. §1. Wat zijn statements?
    2. §2. Functie document.write
    3. §3. Commentaar
    4. §4. Functie alert
    5. §5. Opdrachten
  4. Geeft paragrafen weer H4 - Variabelen
    1. §1. Wat is een variabele?
    2. §2. Variabelen maken en gebruiken
    3. §3. Functie prompt
    4. §4. Operatoren
    5. §5. Strings
    6. §6. Opdrachten
  5. Geeft paragrafen weer H5 - Functies
    1. §1. Wat is een functie?
    2. §2. Functies maken en gebruiken
    3. §3. Functies die iets teruggeven
    4. §4. Parameters en argumenten
    5. §5. De scope van variabelen
    6. §6. Expressies
    7. §7. Functie parseInt
    8. §8. Opdrachten
  6. Geeft paragrafen weer H6 - Loops en voorwaardes
    1. §1. Wat zijn loops en voorwaardes?
    2. §2. Het if-else statement
    3. §3. Vergelijkingen en hun operatoren
    4. §4. Functie confirm
    5. §5. Het switch-statement
    6. §6. De while-loop
    7. §7. De for-loop
    8. §8. Stoppen door break
    9. §9. Opdrachten
  7. Geeft paragrafen weer H7 - Events
    1. §1. Wat is een event?
    2. §2. Events maken en gebruiken
    3. §3. Welke events zijn er?
    4. §4. Variabele this
    5. §5. Event-object
    6. §6. Opdrachten
  8. Geeft paragrafen weer H8 - Arrays
    1. §1. Wat is een Array?
    2. §2. Een Array maken en gebruiken
    3. §3. Een Array doorlopen
    4. §4. Een associatieve array
    5. §5. De for-in loop
    6. §6. Opdrachten
  9. Geeft paragrafen weer H9 - Objecten
    1. §1. Wat is een object?
    2. §2. Verschil object en variabele
    3. §3. Eigenschappen
    4. §4. Methodes
    5. §5. Eigenschappen en methodes
    6. §6. Opdrachten
  10. Geeft paragrafen weer H10 - Globale objecten
    1. §1. Het window-object
    2. §2. Het document-object
    3. §3. Het Math-object
    4. §4. Standaard HTML-Element-object
    5. §5. Een HTML-Table-object
    6. §6. Opdrachten

Hoofdstuk 6 - Opdracht 2

De opdracht:

Hetzelfde als opdracht 1, alleen mag je er nu niet vanuit gaan dat er telkens een geldige invoer wordt gedaan. Met de functie isNaN() kun je controleren of een string een getal is. Deze functie geeft namelijk true als de string geen getal is (isNaN staat voor is not a number), en false als de string wel een getal is (of als er gewoon een getal wordt opgegeven).
Als er een foute invoer wordt gedaan moet daarvan een melding gegeven worden en moeten er verder geen meldingen meer gedaan worden.

Het antwoord:

Door een functie te gebruiken voor de rekenmachine kun je makkelijker het script stoppen. Anders moet je een heleboel if-else statements in elkaar zetten. Nu hoef je alleen maar een return te doen, want dan stopt de functie daar.

JavaScript:
  1. function rekenmachine()
  2. {
  3. var a = prompt("Geef het eerste getal", '')*1;
  4. if(isNaN(a))
  5. {
  6. alert("Ongeldige invoer, voer een getal in!");
  7. return;
  8. }
  9.  
  10. var operatie = prompt("Voer in wat u wilt doen:\nplus\nmin\nkeer\ndelen", 'plus');
  11. if(operatie != "plus" && operatie != "min" && operatie != "keer" && operatie != "delen")
  12. {
  13. alert("Ongeldige invoer, voer plus, min, keer of delen in!");
  14. return;
  15. }
  16.  
  17. var b = prompt("Geef het tweede getal", '')*1;
  18. if(isNaN(a))
  19. {
  20. alert("Ongeldige invoer, voer een getal in!");
  21. return;
  22. }
  23.  
  24. if(operatie == "plus")
  25. {
  26. alert(a+" + "+b+" = "+(a + b));
  27. }
  28. else if(operatie == "min")
  29. {
  30. alert(a+" - "+b+" = "+(a - b));
  31. }
  32. else if(operatie == "keer")
  33. {
  34. alert(a+" * "+b+" = " + a * b);
  35. }
  36. else if(operatie == "delen")
  37. {
  38. alert(a+" / "+b+" = " + a / b);
  39. }
  40. }
  41.  
  42. rekenmachine();