Opdracht 2 : JavaScript
Alles op Gitlab of Github!
Zorg er voor dat alle opdrachten in gitlab of github worden gezet. Dit mag gewoon een eigen publieke repository zijn, of vraag aan je collega's om een repository aan te maken waarmee je kan werken.
Opdracht 12 : De som van A & B
Opdracht 1.2.1
Bekijk onderstaande code, uitgaande van het feit dat de functie som is geïmplementeerd, en voorspel de werking en voorzie de code van duidelijk en commentaar die de functionaliteit beschrijft (dus niet een vertaling is van Javascript -> nederlands/engels).
//.....
var a = 1;
var b = 2;
var som1 = new som(a, b);
som1.calculate(function(antwoord)
{
console.log("som1: " + som1.a + " + " + som1.b + " = " + antwoord);
});
var a = '4';
var b = "6";
var som2 = new som(a, b);
som2.calculate(function(antwoord)
{
console.log("som2: " + som2.a + " + " + som2.b + " = " + antwoord);
});
Opdracht 1.2.2
Implementeer het object som, zodat deze op identieke manier als hierboven te zien is, gebruikt kan worden. Zorg voor een geldig HTML5 document en voorzie de code van duidelijk commentaar die de functionaliteit beschrijft (dus niet een vertaling is van JavaScript -> nederlands/engels). Het resultaat moet er als volgt uit zien:
Opdracht 1.2.3
Vul nu een array met 10 sommen en zorg er voor dat middels de ontwikkelde functie "antwoord" per som brekend wordt en dat het resultaat van de array getoond wordt middels console.log(opgaves). Voer de opdracht een keer uit met een for loop, while loop en met een foreach voor de itteratie van variabele opgaves. Zorg voor een geldig HTML5 document en voorzie de code van duidelijk commentaar die de functionaliteit beschrijft (dus niet een vertaling is van php -> nederlands/engels).
//......
var opgaves = [];
for(var i=0; i<3; i++)
{
opgaves.push({
a: Math.round(Math.random() * 10),
b: Math.round(Math.random() * 10),
antwoord: null
});
}
// schrijf hieronder de code die nodig is om de in de array
// staande berekeningen uit te voeren en middels console.log()
// te presenteren.
//
..... oplossing hier .......
verwachte output:
Opdracht 1.2.4
Bespreek de opdracht met je collega's.
Opdracht 1.2.5
Pas je implementatie van de methode som zo aan dat het aantal getallen dat opgeteld kan worden flexibel is. Zie onderstaande implementatie voorbeeld. Zorg voor een geldig HTML5 document en voorzie de code altijd van duidelijk commentaar die de functionaliteit beschrijft (dus niet een vertaling is van JavaScript -> nederlands/engels).
//.....
var som1 = new som(1, 3, 6, 10);
som1.calculate(function(antwoord)
{
console.log("som1 = " + antwoord);
});
var som2 = new som(3,5,4,4,6,2,3,34,54,2,23,54,5);
som2.calculate(function(antwoord)
{
console.log("som2 = " + antwoord);
});
3
var som3 = new som(3,5);
som3.calculate(function(antwoord)
{
console.log("som3 = " + antwoord);
});
resultaat:
Opdracht 1.2.6 (Bonus):
Gebruik dezelfde code als uit opdracht 1.3 (het maakt hierbij niet uit of er gebruik wordt gemaakt van de for loop, while loop of de foreach). Zorg er voor dat het antwoord van de som pas in de console wordt getoond, nadat het antwoord in seconden verstreken is. Bij bijv. a = 3 en b = 5, dient het antwoord pas na 8 seconden getoond te worden.
De antwoorden dienen in volgorde in de console terecht te komen, dus het antwoord van bijv. a = 2 en b = 1 dient na 3 seconden te worden getoond, 5 seconden daarna het antwoord van a = 3 en b =5 etc.
//......
var opgaves = [];
for(var i=0; i<3; i++)
{
opgaves.push({
a: Math.round(Math.random() * 10),
b: Math.round(Math.random() * 10),
antwoord: null
});
}
console.log(new Date().toLocaleTimeString() + ": Start!");
// schrijf hieronder de code die nodig is om de in de array
// staande berekeningen uit te voeren en na het verlopen aantal
// seconden (op basis van het antwoord) deze pas in de console
// te tonen.
//
..... oplossing hier .......
resultaat:



