Home | Inhoudsopgave | Playground | Opdrachten | Links |
Inhoud | Hoofdstuk 5 - Opdracht 2De opdracht: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). Het antwoord:In opdracht 1 had je gezien dat een string omgezet wordt in een getal als de string een getal bevat en het nodig is om de string naar een getal om te zetten. Dit gebeurde doordat je vermenigvuldigde, wat niet kan bij strings, maar wel bij getallen. Door datzelfde trucje toe te passen in deze opdracht kun je het probleem van het optellen oplossen. Je vermenigvuldigt de string gewoon met 1, door de vermenigvuldiging zal de string in een getal omgezet worden en verandert de waarde niet.JavaScript:
|