Home | Inhoudsopgave | Playground | Opdrachten | Links |
Inhoud | 4. VariabelenIn elke programmeertaal zijn variabelen erg belangrijk. In JavaScript dus ook. Misschien ken je ze al van wiskunde, maar in dit hoofdstuk wordt uitgelegd wat het in JavaScript zijn en hoe ze werken. Naar boven4.1. Wat is een variabele?Een variabele is een plekje in het geheugen van de computer waarin een waarde is opgeslagen, en met de naam van die variabele kun je dan bij het geheugen op dat plekje. Ergens in het geheugen van de computer staat dus een waarde opgeslagen, en die kan jij dan met JavaScript veranderen of gebruiken. Naar boven4.2. Variabelen maken en gebruikenHoe maak je nou variabelen aan, en nog belangrijker: hoe gebruik je ze dan? Voor het aanmaken moet je dus op de een of andere manier de computer om een stukje geheugen vragen, en dat stukje geheugen moet je dan een naam geven. Namelijk de naam van de variabele. Dat klinkt ingewikkeld, maar dat is het niet: JavaScript:
Nu heb je dus een variabele x gemaakt. Het aanmaken van een variabele bestaat dus uit (minstens) twee delen: het woord var en een zelfgekozen naam (in dit geval: x). Voor het geven van die naam zijn enkele regels:
Enkele voorbeelden: JavaScript:
Voordat je de waarde van zo'n variabele kan gebruiken zul je eerst een waarde aan die variabele moeten toekennen: JavaScript:
Een is-teken (=) betekent dus niet "is gelijk aan", maar "wordt gelijk aan" (of kortweg "wordt"). Je zou de bovenstaande code dus als volgt kunnen vertalen: Maak een variabele, met de naam x; x wordt 42; Dit kan ook korter: JavaScript:
Nu x een waarde heeft kan die waarde ook gebruikt worden. Overal waar nu x staat zal dit vervangen worden door de waarde van x. Behalve als het tussen "" of '' staat, dan neemt de computer het namelijk letterlijk en ziet het dus niet als code (zoals besproken in H3.2). JavaScript:
Zoals je aan de laatste regel code kan zien kan de waarde van een variabele door de loop van het script heen wijzigen. Vandaar de term variabele, zijn waarde variëert namelijk. Naar boven4.3. Functie promptVariabelen blijken pas echt nuttig te zijn wanneer je invoer van de gebruiker wil vragen. Dan weet je namelijk niet van tevoren wat er ingevoerd gaat worden. Met prompt() kun je de invoer van de gebruiker vragen, prompt() werkt hetzelfde als alert(). Alleen heeft/krijgt prompt zélf een waarde, namelijk de waarde van wat de gebruiker invult. Hoe dit precies kan, wordt beschreven in H5.3. Je kan dus schrijven: JavaScript:
Zodra er dus een antwoord is gegeven krijgt het stukje prompt("Wat is uw naam?","") de waarde van het antwoord. Dat antwoord wordt vervolgens opgeslagen in de variabele antwoord, en die wordt vervolgens op het scherm gezet (achter de tekst Uw naam is:). De naam van de variabele hoeft niet per se antwoord te zijn, dat had ook bijvoorbeeld pipo mogen zijn, alleen is dat minder logisch. Je kan ook zorgen dat de computer standaard al iets invult voor de gebruiker, door achter de tekst die weergegeven moet worden een komma te plaatsen en dan de tekst die je standaard ingevuld wil hebben: JavaScript:
Hier wordt dus standaard al de tekst Ja ingevuld in het invoervakje. Maar de gebruiker kan er nog altijd van maken wat hij of zij wil. Naar boven4.4. OperatorenOm bewerkingen op die variabelen uit te voeren (zoals optellen, vermenigvuldigen, delen, etc) zijn er operatoren. Het zal je waarschijnlijk erg bekend voorkomen: JavaScript:
In dit geval is het natuurlijk veel handiger gewoon 18 te schrijven. Omdat overal waar je gewoon een getal in kan vullen je ook een variabele in kan vullen kun je die operatoren natuurlijk ook op variabelen toepassen: JavaScript:
Er zijn een hoop verschillende operatoren. In de volgende tabel gaan we er even vanuit dat a = 6 en b = 5:
Dit zijn alle operatoren waarmee je bewerkingen kan doen. Er bestaan ook zogenaamde toekenningsoperatoren. In de voorbeelden zijn weer a = 6 en b = 5 gebruikt.
De operatoren kennen gewoon de standaard voorrangsregels. Waarbij toekenningsoperatoren de laagste prioriteit hebben: JavaScript:
4.5. StringsStrings zijn tekenreeksen, stukken tekst dus. Je bent ze al eerder tegen gekomen in dit boekje. Dat waren namelijk de teksten tussen "" of '', de stukjes die de browser dus niet zag als code maar als letterlijke tekst. Merk op dat er of "" of '' gebruikt moet worden, en geen combinatie daarvan! Dus "letterlijke tekst" is goed, 'letterlijke tekst' ook, maar "letterlijke tekst' of 'letterlijke tekst" niet! Strings kunnen net als alle andere variabelen gebruikt worden: JavaScript:
Variabelen waarin strings opgeslagen zijn hebben echter andere operatoren dan normale variabelen. Eigenlijk kennen ze alleen de operatoren =, + en +=. De operator = hebben we al gezien: JavaScript:
De operator + betekent hier eigenlijk niks anders dan twee strings, of een string en een getal aan elkaar vastmaken: JavaScript:
Als je de betekenis van + weet en de betekenis van =, dan is de betekenis van += niet zo moeilijk gezien a += b eigenlijk hetzelfde is als a = a + b. Dat geldt ook voor strings: JavaScript:
De operatoren + en += hebben dus een dubbele betekenis. Voor de + geldt: deze telt alleen de getallen op als aan beide kanten een getal staat. Als een van beide kanten een string is zal de andere kant ook als string worden gezien en worden de strings aan elkaar geplakt. Bij += werkt dit ongeveer hetzelfde, dat komt omdat a += b eigenlijk hetzelfde is als a = a + b. Daarbij geldt dus wel dat a naderhand een string is als a of b een string was. Als ze beide een getal waren gebeurt wat je in H4.4 geleerd hebt, dan worden de getallen bij elkaar opgeteld en wordt a het resultaat hiervan. Bij strings heb je nog wel eens het probleem dat je aanhalingstekens of enters in de string wil gebruiken. Daarvoor zijn de zogenaamde escape sequences bedacht, dat betekent dat je binnen in de string een soort speciale code hebt om aan te geven dat hij daar een enter moet plaatsen of dat de string niet eindigt bij dat aanhalingsteken: JavaScript:
Er wordt dus eerst een \ geplaatst en dan nog een karakter. De eerste backslash (\) betekent dat er zo'n escape sequence gaat volgen. Daar zijn er een heleboel van, maar de belangrijksten zijn:
De \\ is nodig omdat een enkele \ zou betekenen dat er een escape sequence volgt, en dan zou de browser dus niet weten wat je bedoelt met: "C:\\Users\nick". Moet dit nou C:\Users\nick worden, of C:\Users<enter>ick? Je bedoelde dan waarschijnlijk de eerste, maar het wordt de laatste! Als je dus een \ wil typen, gebruik dan altijd \\. Voor aanhalingstekens is echter een klein trucje, zodat je geen escape sequences hoeft te gebruiken. Want die escape sequences doen de overzichtelijkheid vaak niet ten goede (zoals je in het voorbeeld waarschijnlijk al gezien had). Als je dubbele aanhalingstekens wil gebruiken ("), dan kun je de string ook gewoon tussen enkele aanhalingstekens zetten ('). De browser weet immers toch dat het dan begint bij een ' en eindigt bij een ' (en niet bij een "). Andersom werkt dit uiteraard ook: JavaScript:
4.6. Opdrachten
|