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. Opdrachten
  6. Geeft paragrafen weer H6 - Loops en voorwaarden
    1. §1. Wat zijn loops en voorwaarden?
    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. Variabele window.event
    6. §6. Opdrachten
  8. Geeft paragrafen weer H8 - Array
    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. Wat zijn globale objecten?
    2. §2. Het window object
    3. §3. Het document object
    4. §4. Het Math object
    5. §5. Standaard HTML-Element object
    6. §6. Een HTML-Table object
    7. §7. Opdrachten

Opdrachten

H1 - Voorwoord

Er zijn (nog) geen opdrachten voor dit hoofdstuk!


H2 - Wat is JavaScript?

  1. Geef opdracht weer Opdracht 1 (H2.2)
    Iemand schrijft het volgende stukje HTML in zijn head-tag:
    <script type="text/javascript" src="main.js">
      alert("Hello world!");
    </script>

    Ook als je nog geen JavaScript kunt moet je kunnen begrijpen wat hier fout is, geef dus aan wat hier fout is en hoe dat verbeterd zou kunnen worden.

H3 - Statements (opdrachten)

  1. Geef opdracht weer Opdracht 1 (H3.2)
    Maak een scriptje waarmee je jezelf voorstelt, de uitvoer moet er als volgt uit zien:

    Hallo, ik ben Mark.
    Ik ben 16 jaar oud!

    Gebruik hiervoor exact 2 statements
  2. Geef opdracht weer Opdracht 2 (H3.3)
    Geef van het volgende stukje JavaScript aan wat de uitvoer zal zijn:
    1. document.write("Hallo wereld!<br />");
    2. document.write(/*"Hoe gaat het vandaag met u?<br />"*/);
    3. document.write("- Prima, dank u!<br />");/* Het gaat goed
    4. document.write("En met u?<br />");
    5. document.write("Ach, het is wel eens beter geweest...*///<br />");
    6. document.write('Nou, tot ziens dan maar!<br />'); // Neem afscheid
    
  3. Geef opdracht weer Opdracht 3 (H3.4)
    Doe hetzelfde als bij opdracht 1, alleen dan met pop-up boxjes. Gebruik weer 2 statements. Vergeet niet de opmaak weg te halen!

H4 - Variabelen

  1. Geef opdracht weer Opdracht 1 (H4.2)
    Geef van de volgende variabele namen aan of ze goed of fout zijn. Als een naam fout is, geef dan aan wat er fout is.
    1. blabla
    2. blaBla
    3. x_x
    4. x2
    5. 2x
    6. x_kwadraat
    7. xKwadraat
    8. x-kwadraat
    9. (x)
    10. x^2
  2. Geef opdracht weer Opdracht 2 (H4.2)
    Maak een scriptje waarin je 3 variabelen aanmaakt, en geef ze alle 3 ergens in het script een andere waarde dan ze in het begin hadden. Gebruik maximaal 6 statements.
  3. Geef opdracht weer Opdracht 3 (H4.2)
    Hetzelfde als opdracht 2, maar gebruik nu maximaal 4 statements.
  4. Geef opdracht weer Opdracht 4 (H4.4)
    Maak een script dat vraagt hoeveel boeken een boekwinkel verkocht heeft, vraag daarna hoe duur een boek is en vraag daarna hoeveel het de boekwinkel kost zo'n boek in te kopen. Daarna laat je de gebruiker weten hoeveel winst de boekwinkel gemaakt heeft.
    Je mag er hierbij vanuit gaan dat de getallen die ingevoerd worden geldige getallen zijn.
  5. Geef opdracht weer Opdracht 5 (H4.4)
    Voorspel de waarden van de variabelen na afloop van dit script.
    var a = 3;
    var b = 4;
    var c = 5;
    a += b+c;
    b = c++;
    c -= ++b;
    a *= b;
  6. Geef opdracht weer Opdracht 6 (H4.5)
    Maak een variabele met daarin een string die het volgende stukje tekst bevat:
    Vaak wordt gezegd:
    "Je bent nooit te oud om te leren".
    Da's nou nog eens een wijze spreuk!
    Je moet de variabele met de string erin in 1 statement maken. Vervolgens laat je de waarde van die gemaakte variabele zien door middel van een alert-boxje.
  7. Geef opdracht weer Opdracht 7 (H4.5)
    Maak een scriptje waarin je om iemands naam en leeftijd vraagt (2 prompt-boxjes dus). Laat dan vervolgens een alert-boxje zien met de volgende tekst:
    Hoi ,
    ik ben  jaar ouder dan jij!

    Waarbij je door de eerder verkregen naam vervangt en door het verschil in leeftijd tussen jou en die ander. Het is hierbij niet erg als er komt te staan ik ben -3 jaar ouder dan jij! als je 3 jaar jonger bent.

    Je mag er weer vanuit gaan dat de ingevulde leeftijd een geldige leeftijd is.

H5 - Functies

  1. Geef opdracht weer Opdracht 1 (H5.2)
    Schrijf een functie product. Deze functie moet twee getallen aan de gebruiker vragen (je mag er weer vanuit gaan dat er geldige getallen ingevoerd worden), deze twee getallen moeten met elkaar vermenigvuldigd worden en vervolgens moet het resultaat daarvan weergegeven worden met een alert-boxje.
    Wanneer de functie om het tweede getal vraagt moet standaard het eerste getal ingevoerd staan. Dus stel je voert de eerste keer 5 in, dan moet bij de tweede vraag standaard 5 ingevuld staan.
    Test je functie door hem 3x aan te roepen.
  2. Geef opdracht weer Opdracht 2 (H5.3)
    Hetzelfde als opdracht 1. Alleen nu maak je niet een functie product maar een functie som, die dus, zoals de naam al zegt, de twee getallen bij elkaar optelt. Verder moet de functie niet het resultaat weergeven, maar teruggeven. Schrijf wederom een stukje code om de functie 3x te testen en het resultaat met een alert-boxje weer te geven.
    Je zit nu alleen met het probleem dat prompt() eigenlijk een string teruggeeft (dus niet gewoon 5 maar eigenlijk '5'). JavaScript zet een string automatisch om in een getal als dat nodig is en als dat kan. Dus als je '5'*'6' schrijft dan worden ze omgezet naar getallen en is de uitkomst 30 (want je kan geen strings met elkaar vermenigvuldigen, maar wel getallen). Een probleem ontstaat wanneer je de strings optelt, '5'+'6' zal '56' opleveren, en niet 11. Dit komt omdat je wel twee strings bij elkaar op kan tellen en dus is het niet nodig ze om te zetten in een getal.
    Zoek dus in deze functie zelf een manier om te voorkomen dat je twee aan elkaar geplakte strings krijgt, en daarvoor in de plaats gewoon de som van die 2 ingevoerde getallen (je mag er weer vanuit gaan dat er geldige getallen ingevoerd worden).
  3. Geef opdracht weer Opdracht 3 (H5.4)
    Maak weer een functie som(), alleen dit keer krijgt hij 2 argumenten die hij bij elkaar optelt. Test je functie vervolgens met de volgende code:
    alert(som(prompt("Getal 1?",''), prompt("Getal 2?", '')));
    Ga er maar weer vanuit dat er geldige getallen ingevoerd worden.
  4. Geef opdracht weer Opdracht 4 (H5.4)
    Maak een functie kwadraat() die het kwadraat van zijn parameter geeft. Maak ook een functie pythagoras() die de schuine zijde van een driehoek, dus c, uitrekent (a2 + b2 = c2). Hierbij moet de functie pythagoras() gebruik maken van kwadraat(), en krijgt pythagoras() dus de twee andere zijden als argument door.
    Voor de vierkantswortel gebruik je de in JavaScript ingebouwde functie Math.sqrt().

    Schrijf ook een stukje code om je functie te testen.
  5. Geef opdracht weer Opdracht 5 (H5.5)
    Maak een script waarin je 1 globale variabele aanmaakt, en gelijk de waarde 0 geeft. Je maakt ook een functie in dit script, deze functie heeft 1 parameter en je maakt in die functie een lokale variabele aan (d.w.z: een variabele die alleen zichtbaar is in die functie). Je mag zelf een waarde voor die lokale variabele kiezen.
    Vervolgens telt die functie zijn parameter, de globale variabele en de lokale variabele bij elkaar op en laat hij zien wat het resultaat daarvan is (met alert() of document.write()).
    Roep de functie twee keer met hetzelfde argument aan, en een keer met een ander argument. Zorg dat de uitvoer alle drie de keren anders is.
  6. Geef opdracht weer Opdracht 6 (H5.5)
    Bekijk het volgende stukje code:
    var a = 12;
    /* [A] */
     
    function f(a)
    {
        var b = 16;
        /* [B] */
        return a+b;
    }
     
    function g(b)
    {
        /* [C] */
        return a+b;
    }
     
    /* [D] */
    alert(g(f(10)));


    Op een aantal plekken staat commentaar (zoals: /* [A] */) geef van die plekken aan welke variabelen daar bekend zijn en welke waarde ze hebben. Geef ook het getal dat de alert-box zal weergeven.
  7. Geef opdracht weer Opdracht 7 (H5.5)
    Maak een functie die de volgende tekst op het scherm zet:
    Ik ben x keer aangeroepen!
    Waarbij x wordt vervangen door het aantal keer dat de functie is aangeroepen. De functie mag geen argument mee krijgen. Roep de functie 10x aan, zodat de uitvoer als volgt is:
    Ik ben 1 keer aangeroepen!
    Ik ben 2 keer aangeroepen!
    Ik ben 3 keer aangeroepen!
    Ik ben 4 keer aangeroepen!
    Ik ben 5 keer aangeroepen!
    Ik ben 6 keer aangeroepen!
    Ik ben 7 keer aangeroepen!
    Ik ben 8 keer aangeroepen!
    Ik ben 9 keer aangeroepen!
    Ik ben 10 keer aangeroepen!

    Extra: als je het kan, probeer dan maar 1 statement te gebruiken in de functie.

H6 - Loops en voorwaarden

  1. Geef opdracht weer Opdracht 1 (H6.2)
    Maak een simpele rekenmachine die eerst een getal vraagt, dan vraagt of de gebruiken plus, min of keer wil doen of wil delen. Dan vraag je het tweede getal, en laat je het resultaat van de berekening zien.
    Je mag er vanuit gaan dat elke keer een geldige invoer wordt gegeven.
  2. Geef opdracht weer Opdracht 2 (H6.2)
    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 wordt er daarvan een melding gegeven en worden er verder geen meldingen meer gegeven.
  3. Geef opdracht weer Opdracht 3 (H6.3)
    Geef van de volgende vergelijkingen aan of ze true of false zijn:
    1. 3 == 4
    2. 5 != 8
    3. 5 != "hoi"
    4. 23 === "23"
    5. 8 > 4 || 4 > 8
    6. 4 != 3 && "H" == 'H'
    7. !(true) == false
    8. 5 < 3 && (4 >= 3 || 10 == "10")
    9. 12 >= 12
    10. 421 > 421
    11. (! 18 < 12 && 13 > -21) && (8 != 8 || 11 == '11')
  4. Geef opdracht weer Opdracht 4 (H6.3)
    Maak twee functies, a() en b(). De functie a() zet een A op het scherm (met document.write()) en returnt true. Functie b() zet een B op het scherm en returnt false.
    Vervolgens kopieer je de volgende code:
    if(a() && b())
    {
        document.write("<br />A && B");
    }
    document.write("<br />");
     
    if(a() || b())
    {
        document.write("<br />A || B");
    }
    document.write("<br />");
     
    if(b() && a())
    {
        document.write("<br />B && A");
    }
    document.write("<br />");
     
    if(b() || a())
    {
        document.write("<br />B || A");
    }
    document.write("<br />");


    Voorspel de uitkomst van deze code (dus de tekst die op het scherm komt te staan). Daarna test je de code en verklaar je de uitkomst.
  5. Geef opdracht weer Opdracht 5 (H6.5)
    Maak een script waarin je vraagt om een getal van 1 t/m 10 (ga er maar weer van uit dat de invoer geldig is). Vervolgens moet vanaf dat getal afgeteld worden tot en met 0. Dus stel er wordt 4 ingevuld, dan is de uitvoer van het script:
    4
    3
    2
    1
    0

    Het hele script moet bestaan uit 1 switch-statement (en niet meer).
  6. Geef opdracht weer Opdracht 6 (H6.5)
    Neem weer de rekenmachine uit opdracht 2, alleen pas dit keer (minstens een keer, maar mag vaker als je dat handig lijkt) een switch statement toe in het script.
  7. Geef opdracht weer Opdracht 7 (H6.6)
    Doe hetzelfde als opdracht 5, alleen nu gebruik je een while-statement. Je code mag dit keer meer statements bevatten dan alleen het while-statement.
    Ook mag je er nu niet meer van uit gaan dat er een geldig getal wordt ingevuld, blijf dus net zo lang om een getal van 1 t/m 10 vragen totdat je een geldige invoer hebt gekregen.
  8. Geef opdracht weer Opdracht 8 (H6.6)
    Maak een script met een while-loop dat de volgende uitvoer heeft:
    1 knikker opgegooid, nog 9 in mijn zak.
    2 knikkers opgegooid, nog 8 in mijn zak.
    3 knikkers opgegooid, nog 7 in mijn zak.
    4 knikkers opgegooid, nog 6 in mijn zak.
    5 knikkers opgegooid, nog 5 in mijn zak.
    6 knikkers opgegooid, nog 4 in mijn zak.
    7 knikkers opgegooid, nog 3 in mijn zak.
    8 knikkers opgegooid, nog 2 in mijn zak.
    9 knikkers opgegooid, nog 1 in mijn zak.
    10 knikkers opgegooid, nog 0 in mijn zak.
  9. Geef opdracht weer Opdracht 9 (H6.6)
    Hetzelfde als opdracht 7, alleen gebruik je nu in plaats van een while-loop een do-while-loop.
  10. Geef opdracht weer Opdracht 10 (H6.7)
    Zet de volgende for-loop om in een while-loop die exact hetzelfde doet.
    for(var i = 0; i > -42; --i)
    {
        alert("Het kwadraat van "+i+" is: "+i*i);
    }
  11. Geef opdracht weer Opdracht 11 (H6.7)
    Zet de volgende while-loop om in een for-loop.
    function f(x)
    {
        return x*x - 2*x + 15;
    }
     
    var x = -5;
    while(x < 6)
    {
        alert("Op x = "+x+" is y: "+f(x));
        ++x;
    }
  12. Geef opdracht weer Opdracht 12 (H6.7)
    Gegeven zijn twee stukken code:
    var telTot = prompt("Geef een getal van 1 t/m 100, en dan tel ik tot en met dat getal", '');
    for(var i = 1; i <= telTot; ++i)
    {
        alert(i);
    }

    En:
    for(var i = 1; i <= prompt("Geef een getal van 1 t/m 100, en dan tel ik tot en met dat getal", ''); ++i)
    {
        alert(i);
    }

    Waarom is de uitvoer van deze twee stukken niet helemaal hetzelfde?
    En welk stuk code is fout?
  13. Geef opdracht weer Opdracht 13 (H6.8)
    Geef de waarde van de variabele i na de uitvoer van het volgende script:
    var i;
    for(i = 0; i <= 100; ++i)
    {
        if(i*i < 25)
        {
            alert("Berichtje #"+i);
        }
        else
        {
            break;
        }
    }
  14. Geef opdracht weer Opdracht 14 (H6.8)
    Maak een script waar wordt gevraagd hoe vaak een berichtje met de tekst "Hallo wereld, voor de xe keer!" in een alert-box weergegeven moet worden. Waarbij x uiteraard wordt vervangen door het hoeveelste berichtje dit is.
    Als de berichtjes allemaal weergegeven zijn wordt opnieuw gevraagd hoeveel berichtjes er moeten verschijnen. Dit gaat net zo lang door totdat de gebruiker stop invoert. Je mag er in deze opdracht vanuit gaan dat de gebruiker alleen maar geldige getallen van 0 of groter invoert (of natuurlijk de tekst stop).
    Je mag maar 1 loop in deze opdracht gebruiken.

H7 - Events

  1. Geef opdracht weer Opdracht 1 (H7.2)
    Maak een knop, als op die knop geklikt wordt komt er een berichtje met de tekst Hello world!
  2. Geef opdracht weer Opdracht 2 (H7.3)
    Bedenk waarom sommige events maar door enkele HTML-elementen ondersteund worden.
  3. Geef opdracht weer Opdracht 3 (H7.4)
    Maak een div-element met de tekst: Hello world!
    Zodra je met je muis over deze div heen gaat moet de tekst schuin gedrukt worden. Zodra je met je muis weer van deze div af gaat moet de tekst weer normaal worden.
    Als je op de div klikt moet de tekst in het Nederlands vertaald worden ("Hallo wereld!" dus). Als er dan weer opnieuw op geklikt wordt verandert de tekst weer in Engels. Dus bij elke klik verandert de taal.
    Hoe vaak de tekst ook vertaald wordt, hij moet altijd schuin gedrukt worden als de muis er overheen gaat, en weer normaal als de muis van de div af gaat.
    Tip: geef de div met CSS (gewoon via het style-attribuut) een achtergrond zodat je kan zien wanneer je met je muis er boven hangt en wanneer niet.
    Alleen voor het toekennen van de events mag de functie document.getElementById() gebruikt worden, verder niet.
  4. Geef opdracht weer Opdracht 4 (H7.5)
    Maak 5 divs met dezelfde tekst waarvan je door te klikken de opmaak als volgt kan veranderen:
    als je gewoon op een div klikt, wordt deze vetgedrukt.
    Door op een vetgedrukte div te klikken, terwijl je shift ingedrukt houdt moet deze weer gewoon worden.
    De tekst in de div maakt niet uit (tip: geef de divs een achtergrondkleur, zo kun je zien wanneer je er op klikt of niet).

    Let op: alleen de opmaak van de div waarop geklikt wordt mag veranderen, ze veranderen dus los van elkaar. De functie document.getElementById() mag alleen bij het toekennen van de events gebruikt worden.
  5. Geef opdracht weer Opdracht 5 (H7.5)
    Het is lastig om uit het hoofd te leren welke toetscode bij elke toets hoort. Toch heb je deze toetscode nog wel eens nodig bij event.keyCode. Maak een pagina waarbij als je op een toets drukt, de code van die toets op de pagina weergegeven wordt. Popup-boxjes (zoals alert()) en document.write() zijn verboden.
  6. Geef opdracht weer Opdracht 6 (H7.5)
    Maak een pagina waarop constant de coördinaten van je muis worden weergegeven. Gebruik van document.write() is verboden.

H8 - Array

  1. Geef opdracht weer Opdracht 1 (H8.2)
    Je zou een array als een kastje kunnen zien. Dat kastje heeft dan lades, met op elke lade een nummertje en in elke lade zit een waarde.
    Wat stelt in deze vergelijking het nummertje op de lade voor, wat stelt de inhoud van elke lade voor en wat stelt het kastje in zijn geheel voor?
    En met welk nummertje heeft de eerste lade?
  2. Geef opdracht weer Opdracht 2 (H8.2)
    Maak een array, en vraag 3 keer om een getal (ga ervan uit dat er een geldig getal ingevoerd wordt). Elke keer sla je deze waarde in de array op. Aan het eind geef je de som van deze 3 getallen (in een alert-box of met document.write()).
    Andere variabelen, behalve de array, zijn niet toegestaan.
  3. Geef opdracht weer Opdracht 3 (H8.3)
    Maak een functie waarmee de gebruiker getallen invoert totdat de gebruiker stop invoert. Je mag er wederom vanuit gaan dat er enkel geldige getallen ingevoerd worden. De functie moet een array met alle ingevoerde getallen returnen.
    Maak vervolgens een functie die alle getallen in een array (die de functie als argument heeft gekregen) optelt en het resultaat returnt.
    Vervolgens roep je beide functies 1x aan en laat je de som van de ingevoerde getallen in een alert-boxje zien.
  4. Geef opdracht weer Opdracht 4 (H8.4)
    Maak een script dat elke keer om een landnaam vraagt en daarna om de hoofdstad van dat land. Deze gegevens slaat het script op in een associatieve array.
    Als de gebruiker bij het invullen van het land niks invult stopt het invoeren. Vervolgens vrraagt het script aan de gebruiker van welk ingevoerd land hij hoofdstad wil weten. Deze hoofdstad geeft het script weer. Ga er hierbij vanuit dat een gebruiker enkel een landnaam zal invullen die hij tijdens het invoeren van de gegevens ook heeft opgegeven.
  5. Geef opdracht weer Opdracht 5 (H8.5)
    Zelfde als opdracht 4. Alleen wordt er niet gevraagd welke hoofdstad de gebruiker wil weten, maar worden alle landen en hun hoofdsteden in 1 overzicht op de pagina weergegeven (dus geen alert-box).

H9 - Objecten

  1. Geef opdracht weer Opdracht 1 (H9.2)
    Zoals je gezien hebt kun je niet makkelijk even een array kopiėren. Maak een functie copy() waarmee je wel een array kan kopiėren. De functie moet als volgt aangeroepen kunnen worden naarArray = copy(vanArray).
    Vergeet niet rekening te houden met associatieve arrays!
  2. Geef opdracht weer Opdracht 2 (H9.4)
    Geef van de volgende namen aan wat een object, variabele, functie, eigenschap of methode is.
    Voorbeeld: window.document.getElementById("een_id");
    window: object
    document: eigenschap en object
    getElementById(): methode

    1. mijnArr.length
    2. hoofdstad("Nederland")
    3. kwadraat(x)
    4. window.document.getElementById("id").innerHTML
    5. document.write("Hello world!")
  3. Geef opdracht weer Opdracht 3 (H9.5)
    Zoek op (tip: W3Schools) welke methode of eigenschap je in de volgende gevallen kan gebruiken.
    Voorbeeld: "Je wilt 13 aan de array arr toevoegen"
    Antwoord: arr.push(13);
    1. Variabele txt is een string, je wilt de lengte van deze string weten.
    2. Variabele txt is een string, je wilt weten welk karakter (welk teken) er op de 4e plek in die string staat.
    3. Je wilt de wortel van š weten.
    4. Je wilt weten of variabele x een geldig getal is.
    5. Je wilt weten hoeveel plaatjes (img-elementen) er op je pagina zijn.

H10 - Globale objecten

  1. Geef opdracht weer Opdracht 1 (H10.2)
    Maak een soort timer. De gebruiker wordt gevraagd over hoeveel seconden de timer af moet gaan (ga er vanuit dat er een geldig getal ingevoerd wordt). Na zoveel seconden moet er dan een berichtje verschijnen met de tekst: "Timer afgelopen!".
  2. Geef opdracht weer Opdracht 2 (H10.2)
    Als opdracht 1, maar maak er nu een knop bij waarmee de timer gestopt kan worden voordat deze afgelopen is.
  3. Geef opdracht weer Opdracht 3 (H10.3)
    Er zijn 2 manieren om op een webpagina met JavaScript te tellen hoeveel a-elementen er zijn, als er geen area-elementen op die pagina staan. Op welke 2 maniere kan dit?
  4. Geef opdracht weer Opdracht 4 (H10.4)
    Geef aan hoe je de volgende berekeningen in JavaScript kunt doen:
    1. π2
    2. cos(20.5)3
      Opmerking: tot de macht 0.5 is hetzelfde als de wortel trekken.
    3. logE(13) ook wel genoteerd als: Elog(13)
    4. log2(E) ook wel genoteerd als: 2log(E)
  5. Geef opdracht weer Opdracht 5 (H10.5)
    Maak een pagina met daarop jouw naam en ernaast een knopje (of linkje) "Geef details weer". Als daarop geklikt wordt verandert de tekst van dit linkje in "Verberg details" en moet onder jouw naam je geboortedatum en woonplaats verschijnen.
    Als er op "Verberg details" geklikt wordt moeten je geboortedatum en woonplaats weer verdwijnen (je naam blijft altijd staan) en moet de tekst op de knop/link weer veranderen in "Geef details weer".
  6. Geef opdracht weer Opdracht 6 (H10.5)
    Maak een webpagina met daarin in een divje (
    ) met de tekst 'Klik hier'
    Zorg ervoor dat elke keer als je op dat divje klikt er een prompt verschijnt die een naam vraagt.
    Die naam moet vervolgens in dat divje verschijnen.
    Als er nog een keer op het divje geklikt wordt (met nu dus een naam) moet er weer dezelfde prompt verschijnen en de nieuw ingevoerde naam moet achter de vorige naam verschijnen, gescheiden door een komma.

    Let op: gebruik geen variabelenamen die gelijk zijn aan een id
  7. Geef opdracht weer Opdracht 7 (H10.5)
    Maak een tabel waarin elke keer dat de muiscursor over een cel heen beweegt de achtergrond daarvan zwart wordt en de waarde in de cel (in eerste instantie 0) opgehoogd wordt.
    Bij het verlaten van de cel moet de achtergrond weer wit worden.
    Maak gebruik van this.
  8. Geef opdracht weer Opdracht 8 (H10.6)
    Maak een boter, kaas en eieren spelletje.
    De spelers mogen om de beurt klikken, alleen als er op een leeg vakje geklikt wordt zal er een x of o verschijnen (afhankelijk van wie aan de beurt is).
    Er hoeft geen bericht te verschijnen als er iemand gewonnen heeft.
  9. Geef opdracht weer Opdracht 9 (H10.6)
    Maak een tabel van 5 bij 5, waarin in het midden een zwart blokje start. Dit blokje moet bestuurt kunnen worden met de pijltjestoetsen. Als het blokje aan de rand komt stopt het daar (het gaat dus niet naar de andere kant, en gaat ook niet van de rand af).
    Tip: maak gebruik van het voorbeeld van H10.6
  10. Geef opdracht weer Opdracht 10 (H10.6)
    Hetzelfde als opdracht 9, maar nu maak je het 'speelveld' iets groter. Namelijk 10 bij 10. Wanneer de gebruiker nu ergens klikt komt daar een muur (rood blokje). Door te klikken terwijl shift ingedrukt wordt moeten de muren weer weggehaald kunnen worden.
    Het zwarte blokje mag uiteraard niet op/over een muur lopen.