Inhoud leereenheid 7a. JavaScript for Interactive Web Pages 1. Introductie 9. Leerkern 10. Samenvatting 19. Opdrachten 20.

Maat: px
Weergave met pagina beginnen:

Download "Inhoud leereenheid 7a. JavaScript for Interactive Web Pages 1. Introductie 9. Leerkern 10. Samenvatting 19. Opdrachten 20."

Transcriptie

1 Inhoud leereenheid 7a JavaScript for Interactive Web Pages 1 Introductie 9 Leerkern Key JavaScript Concepts Client-Side Scripting Event-Driven Programming A JavaScript Program The Document Object Model (DOM) JavaScript Syntax Types Numbers and Arythmetic Variables Comments Using DOM Objects Debugging Common Errors Strings For Loops The Math Object Null and Undefined Values 19 Samenvatting 19 Opdrachten 20 Zelftoets 26 Terugkoppeling 27 1 Uitwerking van de opgaven 27 2 Uitwerking van de opdrachten 28 3 Uitwerking van de self-checks 29 4 Uitwerking van de zelftoets 32 8

2 Leereenheid 7a JavaScript for Interactive Web Pages 1 I N T R O D U C T I E JavaScript maakt het mogelijk om webpagina s dynamisch te maken en om de gebruiker meer mogelijkheden tot interactie te bieden. Een aanzienlijk gedeelte van deze cursus heeft daarom JavaScript als onderwerp. JavaScript is een taal met veel mogelijkheden: mogelijkheden om geavanceerde dynamiek aan webpagina s te geven, maar ook mogelijkheden om slecht leesbare en slecht onderhoudbare programma s te schrijven en om fouten te maken. We besteden daarom in dit werkboek extra aandacht aan regels en gewoonten om goed leesbare en onderhoudbare code te schrijven. In deze leereenheid maakt u kennis met JavaScript en leert u eenvoudige functies te schrijven. LEERDOELEN Na het bestuderen van deze leereenheid wordt verwacht dat u kunt uitleggen wat het verschil is tussen server-side scripting en client-side scripting eigenschappen van een DOM-object kunt veranderen de acht fundamentele typen van JavaScript kent en ze kunt gebruiken (met uitzondering van de typen Array en Object die verderop in de cursus aan bod komen) een JavaScriptbestand van commentaar kunt voorzien de in het tekstboek genoemde operatoren kent en kunt gebruiken het in het tekstboek genoemde control statement kent en kunt gebruiken met behulp van de geleerde constructies eenvoudige functies kunt schrijven, en ze als event handler kunt binden aan een element uit een HTML-pagina de betekenis van de volgende begrippen kent: event handler, binden van een event handler, event-driven programmeren, sequentieel programmeren, DOM-object, object chaining, statisch getypeerd, dynamisch getypeerd, impliciete typeconversie. Studeeraanwijzingen Voor deze leereenheid bestudeert u de paragrafen 7.1 en 7.2 van het tekstboek. We verwachten dat u voor het bestuderen van deze leereenheid ongeveer 6 uur zult nodig hebben. OU 9

3 Webapplicaties: de clientkant L E E R K E R N 7.1 Key JavaScript Concepts Weblink: Geschiedenis van JavaScript JavaScript is in 1995 ontwikkeld door Brendan Eich voor Netscape. Zijn opdracht was om een programmeertaal te ontwikkelen die gemakkelijk te gebruiken zou zijn door ongeschoolde programmeurs, en waarmee de code direct in de HTML-code geschreven zou kunnen worden. Toen hij een eind op weg was werd Java populair. Om van de populariteit van Java gebruik te maken is de naam van de door Brendan Eich ontwikkelde taal veranderd van LiveScript in JavaScript, en is de syntax van JavaScript zo ingericht dat die aan Java doet denken. JavaScript is echter een geheel andere taal! Meer over de geschiedenis van JavaScript in de weblinks bij deze leereenheid. Het feit dat JavaScript inderdaad gebruikt kan worden door ongeschoolde programmeurs, onder andere doordat het mogelijk is stukken code te knippen en te plakken en te bekijken wat er gebeurt, heeft als consequentie gehad dat JavaScript door echte programmeurs lange tijd beschouwd is als een inferieur speelgoedtaaltje. Ook het feit dat het zo gemakkelijk is om uiterst slecht onderhoudbare code vol fouten te schrijven heeft daaraan bijgedragen. Sinds de opkomst van Ajax (waarover later in deze cursus) is er meer belangstelling voor JavaScript gekomen, en is er daarmee ook oog gekomen voor de mooie eigenschappen, de flexibiliteit en de kracht van de taal. Ook zijn er ideeën ontwikkeld over hoe je JavaScript zo kunt gebruiken dat je de valkuilen vermijdt. ActionScript Functie en object Een andere implementatie van de ECMAScript-standaard is ActionScript, dat we in deze cursus niet behandelen. ActionScript wordt gebruikt om applicaties te ontwikkelen voor de Adobe Flash Player (Flash komt nog kort aan bod in leereenheid 11). Het tekstboek zegt dat de key construct in JavaScript de functie is. Zoals we later zullen zien, is een functie in JavaScript een object. Het is dan ook juister om te zeggen dat de basisconstructie in JavaScript het object is CLIENT-SIDE SCRIPTING Server-side scripting Server-side scripting wordt in het tekstboek in hoofdstuk 5 en 6 besproken, maar komt in deze cursus niet aan bod (in de cursus Webapplicaties: de serverkant komt server-side scripting uiteraard wel aan bod). Voor deze cursus is het voldoende dat u weet dat het niet alleen mogelijk is om, zoals we in de voorbeelden en opdrachten gezien hebben, webpagina s te bouwen door middel van HTML- en CSSbestanden, maar dat het ook mogelijk is om op de server een programma te executeren dat als output HTML en eventueel CSS heeft. De HTML staat dan dus niet vast in een bestand, maar wordt geproduceerd op het moment dat een gebruiker via de browser een pagina opvraagt. Zo n programma kan bijvoorbeeld een servlet zijn (een programmaatje in Java dat HTML produceert), of een script dat geïnterpreteerd wordt. In dat laatste geval is de term server-side scripting. 10 OU

4 Leereenheid 7a JavaScript for Interactive Web Pages 1 Aan de HTML die de browser ontvangt is niet te zien of deze afkomstig is van een HTML-bestand of een script of programma. Het is voor de JavaScript-programmeur dan ook niet van belang. Een aanwijzing kan de extensie van de URL zijn: eindigt die bijvoorbeeld op.php of op.jsp, dan is er een script dat de HTML produceert (de URL eindigt overigens niet altijd met een bestandsnaam met extensie, en de extensie.html houdt niet per definitie in dat er geen script aan te pas is gekomen). OPGAVE 7a.1 Sluiten server-side scripting en client-side scripting elkaar uit, of kan er bij een webpagina zowel server-side als client-side scripting aan te pas komen? Motiveer uw antwoord. OPGAVE 7a.2 Als u de bestanden bekijkt die bijvoorbeeld nodig zijn voor een blog in Wordpress (zie weblink), ziet u zowel bestanden met extensie.php (server-side scripts) als bestanden met extensie.js (client-side scripts). Die bestanden staan allemaal op de webserver. Waarom heten dan niet al die scripts server-side scripts? Weblink: Spelletjes Weblink: Showcases Weblink: Chrome experiments Om een idee te krijgen van wat er mogelijk is met JavaScript kunt u de site met spelletjes in JavaScript bekijken (zie de links bij deze leereenheid op studienet). Onder de weblink JavaScript showcases vindt u voorbeelden van hoe JavaScript gebruikt kan worden bij de navigatie en bij animaties. De Chrome Experiments zijn een verzameling van niet-alledaagse JavaScript-applicaties: ook de moeite waard om te bekijken EVENT-DRIVEN PROGRAMMING Procedureel programmeren Objectgeoriënteerd programmeren Sequentieel programmeren Event-driven programmeren Met de term procedureel programmeren wordt bedoeld dat functies en procedures de basis vormen van een programma. Een programma bestaat uit een main die sequentieel wordt uitgevoerd, en waarin de in het programma gedefinieerde functies en procedures worden aangeroepen. Procedureel programmeren staat tegenover objectgeoriënteerd programmeren, waarin objecten de basis vormen en functies en procedures gebonden zijn aan objecten. JavaScript is, zoals we nog zullen zien, niet objectgeoriënteerd in die zin: functies hoeven niet gebonden te zijn aan objecten. Met de term sequentieel programmeren wordt bedoeld dat statements één voor één worden uitgevoerd, in de volgorde waarin ze in de code staan. Wat er in de main van een Java-programma staat wordt bijvoorbeeld sequentieel uitgevoerd. De term sequentieel programmeren heeft dus te maken met de aansturing. Die aansturing vindt bij event-driven programmeren op een andere manier plaats: de aansturing gebeurt door events. Event-driven programmeren past goed bij interactie met de gebruiker: elke actie van de gebruiker is een event. Statements binnen functies en statements die buiten functies om in een JavaScript-bestand staan, worden sequentieel uitgevoerd bij het inlezen, in de volgorde waarin ze gelezen worden. Er is dus in JavaScript ook sprake van een sequentieel programmeermodel, maar de standaardmanier waarop JavaScript gebruikt wordt is event-driven. OU 11

5 Webapplicaties: de clientkant Event handler Een event handler is dus een functie die wordt aangeroepen op het moment dat er een event plaatsvindt. Een voorbeeld van zo n event is de gebeurtenis dat de gebruiker op een knop klikt. OPGAVE 7a.3 Hoort event-driven programmeren bij procedureel programmeren of bij objectgeoriënteerd programmeren? A JAVASCRIPT PROGRAM Principe van gescheiden verantwoordelijkhe den Principe van modulariteit De JavaScript-code wordt in een apart bestand geplaatst. Dat is een voorbeeld van een principe van software engineering: het principe van modulariteit. Dat principe is een speciaal geval van het principe van gescheiden verantwoordelijkheden. We gaan hier in op de manier waarop die principes betrekking hebben op het scheiden van HTML- en JavaScript-code: Het principe van gescheiden verantwoordelijkheden (in het Engels bekend als principle of the separation of concerns) zorgt ervoor dat het mogelijk wordt om ons op één aspect te concentreren. Dat principe wordt toegepast als we voor de structuur en de inhoud van een webpagina HTML gebruiken, en voor de stijl en de lay-out CSS. Datzelfde principe wordt ook toegepast als we voor gedrag en interactie JavaScript gebruiken. Bij het schrijven van de HTML-code hoeven we ons dan niet bezig te houden met gedrag en interactie. Het principe van modulariteit (in het Engels bekend als principle of modularity) is een speciale vorm van dat principe, en gaat iets verder: het stelt dat wat aan elkaar gerelateerd is bij elkaar moet staan, en wat niet gerelateerd is niet bij elkaar mag staan. Je gebruikt dus niet alleen HTML voor structuur en inhoud en CSS voor stijl en lay-out, maar je houdt de code ook geheel gescheiden van elkaar. Datzelfde geldt voor JavaScript: de JavaScript-code komt in een apart bestand te staan (of in een aantal aparte bestanden), en niet tussen de HTML in. Programmeeraanwijzing Houd JavaScript-code gescheiden van de HTML, in één of meer aparte bestanden. Event handler binden Een event handler is een functie waarvan het de bedoeling is dat die wordt uitgevoerd wanneer een bepaald event plaatsvindt. Een event handler wordt gebonden aan een bepaald type event van een element. In het voorbeeld in het tekstboek gebeurt dat in HTML: <button onclick="saymagicword();"> Say the Magic Word </button> In dit voorbeeld wordt, zodra de gebruiker op de button klikt, de functie saymagicword aangeroepen. De functie saymagicword is dus de event handler. NB: In Figure 7.4 in het tekstboek ziet u als titel van het alert-venster staan: The page at says:. Als u dit voorbeeld op uw eigen systeem test door te dubbelklikken op uw aangepaste bouwsteen, zult u waarschijnlijk als titel zien: De pagina op file://localhost meldt:. 12 OU

6 Leereenheid 7a JavaScript for Interactive Web Pages 1 Het verschil is dat de auteurs voor het voorbeeld een lokale webserver hebben gebruikt (waardoor ze het HTML-bestand te zien krijgen via het http-protocol), terwijl u door te dubbelklikken een lokaal bestand bekijkt, waarbij het file-protocol wordt. In leereenheid 5 heeft u geleerd om met een lokale webserver te werken. OPGAVE 7a.4 Wat is in Example 7.4 de event handler, wat is het type event waarvoor de event handler is gebonden en wat is het element waaraan de event handler is gebonden? Schending van principes In het tekstboek wordt al aangegeven dat er een betere manier is om een functie als event handler te binden aan een element. Waarom de hier gebruikte manier niet goed is, wordt duidelijk als we naar het principe van modulariteit kijken. Bij deze manier wordt er gedrag gespecificeerd door middel van HTML, en dat is een schending van het principe van modulariteit: om een overzicht te krijgen van het gedrag dat voor een pagina is gespecificeerd, is het nodig niet alleen het JavaScript-bestand te bekijken, maar ook het HTML-bestand. Onthoud dat u vanaf het moment dat u die betere manier heeft geleerd deze manier niet meer zult gebruiken! Bij de bouwstenen zit een uitwerking waarin u alvast kunt zien hoe event handlers gebonden kunnen worden aan elementen van de pagina zonder dat dat zichtbaar wordt in de HTML. We zullen die methode in de uitwerkingen blijven gebruiken, ook al zult u pas later zien waarom de methode zo in elkaar zit THE DOCUMENT OBJECT MODEL (DOM) Object als waarde van variabele In Example 7.7 in het tekstboek wordt een variabele gebruikt: var paragraph = document.getelementbyid("result"); Deze variabele paragraph krijgt als waarde het object dat wordt geleverd door document.getelementbyid("result"). Verderop in deze leereenheid komen variabelen expliciet aan bod. Waar we hier op wijzen is het feit dat met het veranderen van de waarde van de variabele (de property innerhtml van paragraph krijgt een andere waarde) ook de waarde van het pagina-element verandert. Dat is niet vanzelfsprekend. Als een variabele als waarde bijvoorbeeld een getal heeft (type Number), wordt er bij een toekenning van die waarde aan een andere variabele een kopie van die waarde gecreëerd: FIGUUR 7a.1 Toekenning, kopie van de waarde OU 13

7 Webapplicaties: de clientkant Kopie van de waarde Referentie Een variabele bestaat uit een naam en een waarde. Bij een toekenning krijgt de variabele in principe een kopie van de waarde: Bij het veranderen van de waarde van de kopie verandert de oorspronkelijke waarde niet mee, zoals figuur 7a.1 laat zien. Bij objecten werkt dat anders. De variabele paragraph krijgt als waarde niet een kopie van een object, maar een referentie (verwijzing) naar een object. Iets aan de variabele paragraph veranderen betekent in dat geval iets aan het oorspronkelijke object veranderen. FIGUUR 7a.2 Toekenning, referentie naar de waarde Figuur 7a.2 illustreert dat: we zien een variabele paragraph met als waarde null, een object waarvan we de naam niet weten: het paginaelement met de id "result", en een variabele met naam document dat wijst naar het object dat het pagina-element vertegenwoordigt (in werkelijkheid is die variabele document zelf ook een object, maar dat doet er voor deze toelichting niet toe). Na toekenning van het resultaat van document.getelementbyid("result") aan de variabele paragraph krijgt die als waarde niet een kopie van dat object, maar een referentie naar dat object (het bolletje met het pijltje in de tekening). Daardoor is het mogelijk om objecten in de pagina ook daadwerkelijk te veranderen: als de methode alleen een kopie van het object zou opleveren zou dat niet mogelijk zijn; de kopie van het object zou veranderen, terwijl het pagina-element onveranderd zou blijven. In plaats van: var paragraph = document.getelementbyid("result"); paragraph.innerhtml = "Please! "; is het ook mogelijk om te schrijven: document.getelementbyid("result").innerhtml = "Please! "; 14 OU

8 Leereenheid 7a JavaScript for Interactive Web Pages 1 Object chaining Deze constructie heet object chaining. Als een methode een object (preciezer geformuleerd: een referentie naar een object) teruggeeft, kun je dat object direct gebruiken, zonder de omweg van het eerst te moeten toekennen aan een variabele. Je kunt dat teruggegeven object gebruiken door er een methode van aan te roepen (die weer een object zou kunnen opleveren) of, zoals in dit voorbeeld, door er een attribuut van te gebruiken. Lange ketens van object chaining kunnen lastig leesbaar zijn, maar in dit geval laat de keten beter zien wat er gebeurt dan als er een extra variabele wordt gebruikt: zo is het inzichtelijker dat het object van de DOM zelf wordt veranderd. De DOM komt verderop in deze cursus nog uitgebreider aan bod. U heeft nu gezien dat DOM-objecten nodes worden genoemd, dat een DOM-object een pagina-element representeert en dat een DOM-object veranderd kan worden via JavaScript waardoor het pagina-element verandert. 7.2 JavaScript syntax TYPES Het type van een waarde bepaalt wat er mee kan gebeuren. Twee waarden van type Number kunnen bijvoorbeeld met elkaar worden vermenigvuldigd; twee waarden van type String niet. Arrays en functions zijn in feite een speciaal type objecten. Er zijn dus strict gesproken zes typen (Number, Boolean, String, Object, null en undefined), terwijl het type Object een onderverdeling kent in drieën: Array, Function en het gewone type Object. Het is gebruikelijk om te spreken over acht fundamentele typen, en Array en Function als gelijkwaardig aan Object te beschouwen; dat zullen we in deze cursus ook doen. We gaan hier nader in op de zin JavaScript is loosely and dynamically typed. Statisch getypeerd: koppeling van type aan variabele Dynamisch getypeerd: koppeling van type aan waarde Statisch getypeerd houdt in dat elke variabele een vast type heeft. Het type van een variabele kan dus niet tijdens de uitvoering van het programma veranderen. Bij het declareren van een variabele wordt vastgelegd van welk type hij is, en dat type houdt de variabele gedurende z n gehele leven. JavaScript is dynamisch getypeerd. Dat houdt in dat bij elke waarde een type hoort. Het type van een variabele is afhankelijk van de waarde die er aan is toegekend. Omdat de waarde van een variabele tijdens z n levensduur kan veranderen, kan ook z n type tijdens z n levensduur veranderen. Bij een dynamisch getypeerde taal is het niet nodig bij declaratie van een variabele vast te leggen van welk type hij is: dat wordt bepaald door de waarde die aan de variabele wordt toegekend. Een statisch getypeerde taal heeft onder andere als voordeel dat fouten snel zichtbaar worden; een dynamisch getypeerde taal heeft onder andere als voordeel dat casten (expliciet aangeven dat bijvoorbeeld een waarde van type Object behandeld moet worden alsof het type String object is) nooit nodig is: robuustheid tegenover flexibiliteit. OU 15

9 Webapplicaties: de clientkant Sterk getypeerd Los getypeerd Impliciete typeconversie De term sterk (strong) getypeerd is niet goed gedefinieerd. De verschillende betekenissen hebben over het algemeen te maken met de mate waarin de compiler of de interpreter checkt of er fouten met typeringen zijn (bijvoorbeeld of bij de aanroep van een functie de typen van de actuele parameters overeenkomen met de typen van de formele parameters). Voor de term los (loosely) getypeerd geldt hetzelfde: er is geen eensluidende definitie van de term. De definities hebben over het algemeen te maken met een gebrek aan checken van typen door de compiler of interpreter. Zoals we nog zullen zien komt in JavaScript impliciete typeconversie voor. Dat houdt in dat het type van een waarde veranderd kan worden tijdens de duur van een programma, zonder dat de programmeur daartoe opdracht heeft gegeven. Een voorbeeld is het wisselen van het type van de waarde 3: het type van die waarde kan, afhankelijk van wat er op een bepaald moment nodig is, wisselen tussen string "3" en number 3. Soms wordt onder los getypeerd verstaan dat een taal impliciete typeconversie kent. Impliciete typeconversie is, zoals we zullen zien, een bron van veel voorkomende fouten, terwijl het aan de andere kant minder programmeerwerk betekent: de string "3" hoeft nooit expliciet veranderd te worden in number 3 en andersom. OPGAVE 7a.5 Kan impliciete typeconversie voorkomen bij een statisch getypeerde taal? Beargumenteer uw antwoord NUMBERS AND ARYTHMETIC Object Number Weblink: Number De constanten in tabel 7.3 van het tekstboek zijn allemaal, zoals u aan de notatie kunt zien, properties van het object Number. Dat object is één van de globale objecten (globaal versus lokaal komt in een volgende leereenheid aan de orde) die JavaScript biedt. Op het verschil tussen het type Number en het globale object Number komen we uitgebreid terug in leereenheid 7c. In de referentie voor het object Number vindt u een compleet overzicht van de constanten VARIABLES De term los getypeerd (loosely typed) kent te veel betekenissen om zinvol gebruikt te kunnen worden. Het is in dit geval nauwkeuriger om te spreken van dynamisch getypeerd: het type van de variabele hangt samen met het type van de waarde, en niet met de variabele zelf. In JavaScript is het toegestaan om statements niet met een puntkomma te laten eindigen. Over het algemeen gaat dat goed, maar er zijn situaties waarbij code anders geïnterpreteerd wordt dan als er netjes een puntkomma aan het einde van het statement zou staan. Om fouten te voorkomen eindigt u dus elk statement met een puntkomma, ook al klaagt JavaScript niet als u dat niet doet, en ook al werkt uw code vaak zonder problemen als u het nalaat. 16 OU

10 Leereenheid 7a JavaScript for Interactive Web Pages 1 Programmeeraanwijzing Eindig elk statement met een puntkomma. In het tekstboek staat uitgelegd waarom u het keyword var hoort te gebruiken als u een variabele declareert, ook al geeft JavaScript geen foutmelding als u het nalaat. Programmeeraanwijzing Declareer elke variabele expliciet met het keyword var COMMENTS Eenregelig commentaar kan ook na een statement komen. Zo kunt u bijvoorbeeld kort commentaar schrijven bij de declaratie van een variabele: var counter = 0; // om het aantal blog-entries bij te houden USING DOM OBJECTS innerhtml value Een extra vuistregel om te onthouden als u de innerhtml en als u de property value moet gebruiken is de volgende: wat de gebruiker intypt haalt u op via de property value; wat in de pagina zelf staat bereikt u met de property innerhtml. OPGAVE 7a.6 Is de event handler in Example 7.14 en 7.15 gebonden aan het button element of aan het span element? DEBUGGING COMMON ERRORS File protocol Http protocol Als u een HTML-bestand in Firefox opent dat refereert aan een nietbestaand JavaScript-bestand zal de Nettab van Firebug (Figure 7.9) niets laten zien. Dat komt omdat u het bestand niet via een webserver bekijkt, maar via de filebrowser: in de adresbalk van de browser ziet u als protocol staan file:// in plaats van De browser gebruikt het file protocol om op de harde schijf te kijken. Er is bij het file protocol dus geen communicatie nodig met een webserver. Het http protocol gebruikt de browser om met een webserver te communiceren. De Nettab van Firebug laat http-requests zien (het http protocol werkt met http-requests en http-responses), maar dat gebeurt dus alleen als u een HTML-bestand bekijkt via een webbrowser. Daartoe zet u het bestand in de htdocs-directory van uw xamppinstallatie (zie leereenheid 5), en bekijkt u het bestand via OU 17

11 Webapplicaties: de clientkant STRINGS Impliciete typeconversie Literals hebben ook properties Het tekstboek zegt dat elke waarde een object is. In werkelijkheid zijn er meer typen dan alleen objecten, zoals we hebben gezien. De reden dat de waarde van type String zich in Example 7.23 gedraagt alsof het een string-object is, is dat JavaScript impliciete typeconversie toepast. Als u de property length opvraagt van een waarde van type String, wordt die waarde eerste geconverteerd naar een waarde van type String object. U kunt dus met waarden van type String werken alsof het stringobjecten zijn. De property length geeft niet alleen de lengte van de waarde van een variabele (als die waarde een string is), zoals in Example 7.23, maar ook de expressie "L. Croft".length geeft als resultaat 8. Ook voor losse waarden, literals, geldt dus dat er impliciete typeconversie wordt toegepast als u een property ervan opvraagt. OPGAVE 7a.7 Example 7.22 geeft onder andere aan hoe je in JavaScript een methode van een object aanroept. We hebben dat al eerder in deze leereenheid gebruikt. Welke methode, van welk object was dat? FOR LOOPS Een for loop wordt vaak gebruikt om iets te doen met alle elementen van een waarde van type String (of van type Array, dat later aan bod komt). Er wordt dan getest of de teller die in de for loop wordt gebruikt de lengte van de string of de array heeft bereikt. Zo n for loop ziet er als volgt uit: // woord is de naam van een variabele van type String for (var i=0; i < woord.length; i++) { woord.charat(i).tolowercase(); // bijvoorbeeld } HET MATH OBJECT Er is een verschil tussen de properties en de methoden van het Mathobject, en de properties en methoden van string-objecten. De properties en methoden in deze paragraaf horen bij het voorgedefinieerde object Math. Er bestaat geen type Math, en waarden worden niet impliciet geconverteerd naar type Math object. Deze properties en methoden worden dus niet gebruikt op waarden, maar alleen op het Math-object zelf. Voor Math.random geldt dat bij de waarden die worden opgeleverd de 0 wel meetelt, maar de 1 niet. 18 OU

12 Leereenheid 7a JavaScript for Interactive Web Pages 1 OPGAVE 7a.8 a Wat gebeurt er precies als u een willekeurig geheel getal opvraagt tussen 1 en 10 op de volgende manier? var rand = parseint(math.random() * 10) + 1; b Geeft u voor deze toepassing de voorkeur aan parseint of aan Math.floor? Waarom? NULL EN UNDEFINED WAARDEN OPGAVE 7a.9 Gezien de volgende statements: 4 + degroteonbekende; var degroteonbekende = null; 4 + degroteonbekende; a Wat is de waarde van de variabele degroteonbekende na elk statement uit de opdracht hiervoor? b Hoe verloopt de impliciete typeconversie in het eerste en in het derde statement? S A M E N V A T T I N G JavaScript is een scripting-taal die vooral gebruikt wordt om webpagina s interactief te maken. De syntaxregels laten over het algemeen meer vrijheid toe dan bij talen als Java of C#. Vanuit de JavaScript-code gezien speelt de webpagina over het algemeen de rol van user interface. De volgorde van executie wordt dan bepaald door de gebruiker die via de muis of het toetsenbord interacties uitvoert met de pagina. De acties van de gebruiker zijn events; een programma waarbij de executievolgorde door events wordt bepaald heet event-driven. Het Document Object Model (DOM) is een verzameling JavaScriptobjecten waarvan de code methoden kan aanroepen en properties kan veranderen. Daarmee kan de inhoud van een pagina worden veranderd. Het DOM-object van elk HTML-element kan gebruikt worden om informatie over het element op te vragen, bijvoorbeeld om de tekst op te vragen of om te vragen of het element checked is; en het kan gebruikt worden om dynamisch de stijl van het element te veranderen. Een DOMobject is te benaderen door middel van document.getelementbyid. JavaScript kent vijf primitieve types: Number, String, Boolean, null en undefined. Daarnaast kent JavaScript het type object, dat weer kan worden onderverdeeld in Array, Function en Object. OU 19

13 Webapplicaties: de clientkant O P D R A C H T E N Blog, bij 1.3 OPDRACHT 7a.1 U schrijft in deze opdracht een event handler en bindt die aan een event. Het startpunt is een HTML-bestand met een style sheet: blog/index.html en blog/stijl.css. De pagina ziet er als volgt uit: FIGUUR 7a.3 Blog pagina In het bestand blog/blog.js ziet u staan: window.onload = function() { document.getelementbyid("pub").onclick = publiceer; }; Daarbij is het van belang geen haakjes achter de naam publiceer te schrijven: de property onclick krijgt hier een functie als waarde, en het is niet de bedoeling om die functie meteen uit te voeren (u leert daar meer over in leereenheid 7c). De code is een alternatief voor het binden van een event handler in de HTML-code. Het is dus een alternatief voor: <button id="pub" onclick="publiceer();">publiceer</button> Schrijf nu een functie publiceer die een alert laat verschijnen met de melding: We gaan nu publiceren. U vindt een uitwerking bij de bouwstenen, in blog/blog.js. Fout in de naam van de eventhandler, bij 1.3 OPDRACHT 7a.2 In deze opdracht gebruikt u Firefox om een fout op te sporen. Als u Firebug nog niet geïnstalleerd hebt, doe dat dan nu (Extra -> Add-ons verkrijgen, zoeken op FireBug). Met behulp van Firebug is het gemakkelijker om fouten op te sporen. Open de pagina uit de vorige opdracht, en activeer Firebug met behulp van Extra -> Firebug -> Firebug openen, of door te klikken op het kevertje (bugje) rechts in de onderbalk van Firefox. 20 OU

14 Leereenheid 7a JavaScript for Interactive Web Pages 1 FIGUUR 7a.4 Bug van Firebug Verander nu in het JavaScript-bestand de naam van de event handler waar die gebonden wordt aan de button in bijvoorbeeld publicees, ververs de pagina (F5) in Firefox en bekijk wat er gebeurt als u nu op de knop klikt. Niets... Firebug opent de console (die onder andere wordt gebruikt om details over fouten weer te geven) en geeft daarin aan: publicees is not defined. Dat kan een aanwijzing zijn dat de naam van de event handler niet overeenkomt met een gedefinieerde functie. FIGUUR 7a.5 Firebug ontdekt een fout Cache probleem Als u de naam van de event handler verandert en de pagina opnieuw laadt zult u in sommige gevallen zien dat Firefox nog steeds de oorspronkelijke, foutloze pagina toont. Dat komt doordat Firefox ziet dat u een pagina opvraagt die u al eerder heeft opgevraagd. Firefox gebruikt in zo n geval de pagina die het al in het geheugen heeft: in de cache. Dat is lastig bij debuggen. Om zulke problemen te voorkomen kunt u de cache van Firefox uitschakelen: Extra -> Opties -> Geavanceerd, tab Netwerk, en dan 0 MB ruimte voor buffer kiezen. Een andere mogelijkheid is om te herladen met Control-F5 in plaats van met F5. Er is geen uitwerking bij deze opdracht. Fout in de naam van het JavaScriptbestand, bij 1.3 OPDRACHT 7a.3 a Herstel de naam van de event handler weer (test of alles nu weer gaat zoals het hoort), en verander nu de naam van het JavaScriptbestand in het src-attribuut van de script-tag in blof.js en bekijk wat er dan gebeurt als u de pagina heeft herladen en op de knop klikt. Precies hetzelfde, en Firebug geeft precies dezelfde melding. Deze twee fouten zijn dus lastig uit elkaar te houden. OU 21

15 Webapplicaties: de clientkant b Herstel de naam van het bestand in de head van het HTML-bestand weer (en test of alles weer werkt zoals het hoort). Voeg nu in het JavaScript-bestand bovenaan de volgende regel toe: alert("het JavaScriptbestand is gevonden"); Bekijk wat er nu gebeurt als u de pagina herlaadt. Dit is een voorbeeld van sequentieel programmeren in JavaScript: de alert wordt uitgevoerd tijdens het inlezen van het bestand. Door middel van deze regel kunt u onderscheiden of er een fout is in de naam van een event handler, of dat het JavaScript-bestand in z n geheel niet wordt geladen (in dat geval krijgt u de alert niet te zien). Er is geen uitwerking bij deze opdracht. DOM, bij 1.4 OPDRACHT 7a.4 In deze opdracht verandert u een DOM-element met behulp van JavaScript. U breidt het blogvoorbeeld uit. In plaats van een alert te laten verschijnen als de gebruiker op de knop klikt, laat u nu een nieuwe blogentry verschijnen met een vaste tekst. Het bovenste lege div-element geeft u daarom een id: <div class="entry" id="nieuw"></div> Uw taak is om de functie publiceer zo te veranderen dat het divelement de tekst Hier komt een nieuwe entry gaat bevatten. Een uitwerking vindt u in de vorm van de bestanden blog/dom.html en blog/dom.js in de bouwstenen. Waarden en variabelen, bij 1.4 OPDRACHT 7a.5 U experimenteert in deze opdracht met waarden en variabelen. Houd de pagina uit de vorige opdracht geladen in Firefox, en open Firebug (door te klikken op het bugje rechtsonder of via het menu). Klik op de tab Console. U krijgt dan een venster met een invoerregel onderin. Als u iets invoert en op return klikt wordt het statement bovenin de console gezet en uitgevoerd, en als er een resultaat is wordt dat daar onder weergegeven. FIGUUR 7a.6 De console in Firebug 22 OU

16 Leereenheid 7a JavaScript for Interactive Web Pages 1 Voer in de console de volgende expressies in en bekijk steeds het resultaat: var maandagmenu = "boerenkool"; var dinsdagmenu = maandagmenu; maandagmenu; dinsdagmenu; dinsdagmenu = "pannenkoeken"; maandagmenu; dinsdagmenu; Er is geen uitwerking bij deze opdracht. Refresh na verandering DOM, bij 1.4 Het type Number en operatoren, bij 2.2 OPDRACHT 7a.6 In deze opdracht ziet u dat een verandering van de DOM tijdelijk is. Ververs de pagina (met F5) nadat u op de button van de pagina uit opdracht 7a.4 heeft geklikt en de inhoud van het div-element dus is veranderd door de event handler in JavaScript. Bij het verversen van de pagina blijkt duidelijk dat de HTML niet wordt veranderd door JavaScript: de pagina ziet er weer uit zoals hij er oorspronkelijk uit zag. Het is de DOM, het geheel van objecten dat de browser in het geheugen heeft, die verandert. Als u de pagina ververst leest Firefox de HTML opnieuw in, en bouwt opnieuw de DOM op. Bij deze opdracht is geen uitwerking. OPDRACHT 7a.7 Voer in de console van Firebug de volgende expressies in en bekijk het resultaat: Number.MAX_VALUE; Number.MIN_VALUE; 10/3; 10/0; 10/"3"; Wat gebeurt er bij het interpreteren van 10/"3";? U vindt een uitwerking van die vraag in de terugkoppeling. Eigenschappen van DOM objecten, bij 2.5 OPDRACHT 7a.8 De eigenschappen van DOM objecten in een HTML pagina zijn direct te bekijken met behulp van Firebug. Typ in de console van Firebug (nog steeds in blog/index.html): document.getelementbyid("nieuw").tagname; Bekijk wat Firebug geeft als u op return klikt. Er is geen uitwerking bij deze opdracht. OU 23

17 Webapplicaties: de clientkant Cat-dog, bij 2.5 OPDRACHT 7a.9 In deze opdracht verandert u het src-attribuut van een element. Bij de bouwstenen vindt u een HTML-bestand met een img-tag, in catdog/kathond.html. Vul het bijbehorende JavaScript-bestand aan met een event handler om het plaatje te veranderen. Geef in de event handler de src-property van het element met id dier als waarde: "Wikilabrador.jpg"; Bij de bouwstenen vindt u een uitwerking, in cat-dog/kathond.js. Value en innerhtml, bij 2.5 De Net tab van Firebug, bij 2.6 OPDRACHT 7a.10 In deze opdracht gebruikt u de value van het ene element om de innerhtml van een ander element mee te vullen. In het blogvoorbeeld zet u wat de gebruiker in het textarea-element heeft ingevoerd nu tussen p-tags, en geeft u het div-element met id nieuw die string als waarde. Test de functie door iets in de textarea in te vullen en op Publiceer te klikken. U vindt een uitwerking bij de bouwstenen, in blog/value.js en blog/value.html. OPDRACHT 7a.11 Bij de opdrachten die u tot nu toe heeft uitgevoerd, heeft u gewoon kunnen dubbelklikken op een HTML-bestand, en heeft de browser het HTML-bestand via het filesysteem opgehaald. Om een HTML-bestand dat is verstuurd door een webserver te bekijken maakt u een directory JavaScript aan in de directory htdocs van uw xampp-directory (zie leereenheid 6). Zet de bestanden voor het blogvoorbeeld in die directory, maak een fout in de naam van het JavaScript-bestand zoals het in de HTML staat (maak er bijvoorbeeld valu.js van) en typ in de adresbalk van uw browser: Kijk dan wat de Net tab van Firebug zegt. U vindt een uitwerking van deze opdracht bij de terugkoppeling. Niet bestaande pagina elementen, bij 2.6 OPDRACHT 7a.12 Herstel in de HTML van het blogvoorbeeld eerst de naam van het JavaScript-bestand (en test of alles werkt). Verander dan in JavaScript document.getelementbyid("nieuw") in document.getelementbyid("nieu") en klik op de knop om te bekijken welke foutmelding Firebug laat zien. Gebruik vervolgens de console om, zoals in Figure 7.10, het element met de foutief gespelde en de goed gespelde id op te roepen. Er is geen uitwerking bij deze opdracht. 24 OU

18 Leereenheid 7a JavaScript for Interactive Web Pages 1 JSLint, bij 2.6 OPDRACHT 7a.13 Kopieer de code van het JavaScript-bestand van het blogvoorbeeld naar JSLint en klik op JSLint. JSLint zal als foutmelding geven: Error: Implied global: document Dat komt doordat JSLint normaal gesproken document zal zien als een gewone variabelenaam, en die variabelenaam wordt gebruikt zonder dat hij netjes met var is gedeclareerd. Vink nu bij de Options aan: Assume a browser, en klik nogmaals op JSLint. De foutmelding over document is nu verdwenen, maar als u window.onload in uw JavaScript-bestand heeft staan zal JSLint nog steeds een foutmelding geven: Error: Implied global: window Onderaan bij de Options kunt u zelf een lijst van variabelenamen opgeven die predefined zijn. Als u daar window invult en weer op JSLint klikt zijn de foutmeldingen verdwenen. Er is geen uitwerking bij deze opdracht. For loop, bij 2.7 en 2.8 OPDRACHT 7a.14 Als u in het blogvoorbeeld een lang stuk tekst invoert, met enters om er niet één tekstbrij van te maken, verschijnt de tekst in het div-element wel als tekstbrij. HTML negeert enters immers. Check eerst of een entry inderdaad op die manier wordt verwerkt. Met behulp van een for loop kunt u in het blogvoorbeeld een enter zo interpreteren dat er met een nieuw p-element wordt begonnen. Daartoe splitst u eerst de tekst in een array van de stukken tussen de enters: var paragrafen = document.getelementbyid("tekst").value.split("\n"); Uw opdracht is om met behulp van een for loop alle zinnen tussen p- tags te zetten. U vindt een uitwerking bij de bouwstenen, in blog/for.html en blog/for.js. Een tekst veranderen, bij de gehele leereenheid OPDRACHT 7a.15 In de bouwstenen vindt u het bestand teksttool/teksttool.html. Als u dat in Firefox opent ziet u de volgende pagina: FIGUUR 7a.7 De pagina teksttool.html OU 25

19 Webapplicaties: de clientkant Voeg aan het bestand code toe om een JavaScript-bestand te laden (met de naam teksttool.js), en verander de HTML-code zo dat u in staat zult zijn om de tekst in de textarea met JavaScript te kunnen veranderen. Creëer een bestand teksttool.js, en schrijf event handlers voor de knoppen in de pagina. Methoden voor strings kunt u vinden in de referentie voor strings (zie Table 7.12 of de link op de cursussite). Bind in het HTML-bestand die event handlers aan de juiste knoppen, of gebruik de manier die u in de opdrachten heeft geleerd om event handlers aan knoppen te binden. U vindt een uitwerking bij de bouwstenen, in teksttool/teksttool.js, en er is een toelichting in de terugkoppeling. Z E L F T O E T S 1 Een HTML-pagina bevat het volgende fragment: <p id="samenvatting"></p> Schrijf een functie vatsamen die in dat p-element de tekst Na het bestuderen van deze cursus kunt u functies schrijven in JavaScript zet. 2 Wat zijn de acht fundamentele typen van JavaScript? 3 Wat is de waarde van de volgende expressie? parseint("three") ; 4 Schrijf een for loop die exact 9 maal wordt doorlopen. Vermenigvuldig steeds de variabele som, met als beginwaarde 2, met zichzelf. 5 Wat houdt het feit dat JavaScript dynamisch getypeerd is in? 6 Gegeven is het volgende statement: var zin = "L. Croft is an actress."; Vind met JavaScript de plaats van de eerste spatie in de tweede helft van de zin. 7 We willen een willekeurig getal tussen 1 en 50. De 1 doet dus mee; de 50 niet. Hoe verkrijgt u zo n getal met behulp van parseint en Math.random? 8 Een codefragment bevat het volgende statement: x = x + y; Hoe kunt u dat korter opschrijven? 9 U heeft een HTML-pagina geschreven met een JavaScript-bestand, en u zet de bestanden op een webserver. Is het JavaScript-bestand daarmee een voorbeeld geworden van server-side scripting? 26 OU

20 Leereenheid 7a JavaScript for Interactive Web Pages 1 T E R U G K O P P E L I N G 1 Uitwerking van de opgaven 7a.1 Een pagina kan worden geproduceerd door een server-side script, en in de HTML die door dat script wordt geproduceerd kan gerefereerd worden aan een client-side script. Server-side scripting en client-side scripting sluiten elkaar dus zeker niet uit. Een voorbeeld is de documentatiepagina voor PHP, zie de weblink. Het is een URL met extensie.php: de pagina is dus geproduceerd door een client-side script. Als u de bron van de pagina bekijkt ziet u daar onder andere de regel: <script type="text/javascript" src=" </script> In de pagina wordt dus een client-side script gebruikt. 7a.2 Het verschil tussen client-side en server-side scripts zit hem niet in de plek waar ze staan (ze staan beide op de webserver), maar in de plaats waar ze worden uitgevoerd, of geïnterpreteerd. Server-side scripts worden op de server geïnterpreteerd; client-side scripts worden door de browser geïnterpreteerd. 7a.3 De vraag is in feite een strikvraag, want event-driven programmeren hoort bij geen van beide. U kunt zowel in een procedurele taal eventdriven programmeren (door een functie aan een event te binden) als in een objectgeoriënteerde taal (door de methode van een object aan een event te binden). 7a.4 De event handler is de functie saymagicword. Het type event waarvoor de event handler is gebonden is het click event. De event handler is gebonden aan het button-element. 7a.5 Voor een statisch getypeerde taal geldt: Bij het declareren van een variabele wordt vastgelegd van welk type hij is, en dat type houdt de variabele gedurende z n gehele leven. Een variabele kan dus niet van type veranderen. Impliciete typeconversie kan echter wel voorkomen. Een waarde van type byte kan bijvoorbeeld impliciet geconverteerd worden naar een waarde van type int of double. 7a.6 De event handler is gebonden aan het button-element; niet aan het span-element. Het span-element is in dit geval het lijdend voorwerp. 7a.7 Bij het verkrijgen van een DOM-object hebben we al de methode getelementbyid aangeroepen, op het object document, waarbij we een string als parameter meegaven die het id aangaf van het DOM-object dat we op het oog hadden. Het object document, dat de browser ter beschikking stelt, is dus een normaal JavaScript-object. OU 27

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 De functie van de cursus 7 2 De inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en wijze van studeren

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 De functie van de cursus 7 2 De inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en wijze van studeren

Nadere informatie

Websitecursus deel 3 JavaScript

Websitecursus deel 3 JavaScript Websitecursus deel 3 JavaScript A Eskwadraat WebCie www@a-eskwadraat.nl 12 oktober 2015 Introductie Twee weken geleden HTML Vorige week CSS Deze week JavaScript Javascript JavaScript (ook wel JS) is een

Nadere informatie

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89.

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89. Inhoud leereenheid 7c JavaScript: Objecten en functies Introductie 59 Leerkern 60 1 Functies 60 1.1 Syntax - samenvatting 60 1.2 Functies definiëren 61 1.3 Functie als parameter (facultatief) 64 1.4 Functie

Nadere informatie

Inhoud leereenheid 4. Inleiding JavaScript. Introductie 99. Leerkern 100. Zelftoets 108. Terugkoppeling 109

Inhoud leereenheid 4. Inleiding JavaScript. Introductie 99. Leerkern 100. Zelftoets 108. Terugkoppeling 109 Inhoud leereenheid 4 Inleiding JavaScript Introductie 99 Leerkern 100 1 Leren programmeren in JavaScript 100 2 Chapter 1: Introduction 101 3 Chapter 2, paragrafen 1 t/m 5 102 4 Chapter 2, paragrafen 6

Nadere informatie

JavaScript for Interactive Web Pages 2

JavaScript for Interactive Web Pages 2 Leereenheid 7b JavaScript for Interactive Web Pages 2 I N T R O D U C T I E In de vorige leereenheid heeft u kennisgemaakt met JavaScript, en heeft u geleerd om eenvoudige event handlers te schrijven.

Nadere informatie

Inhoud leereenheid 1. Internet en het World Wide Web. Introductie 15. Leerkern 15. Zelftoets 26. Terugkoppeling 27

Inhoud leereenheid 1. Internet en het World Wide Web. Introductie 15. Leerkern 15. Zelftoets 26. Terugkoppeling 27 Inhoud leereenheid 1 Internet en het World Wide Web Introductie 15 Leerkern 15 1 Webapplicaties en web apps 15 2 Hoe werkt het web 17 2.1 Dubbelklikken op een HTML-bestand 17 2.2 URL in de adresbalk 17

Nadere informatie

Variabelen en statements in ActionScript

Variabelen en statements in ActionScript Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer

Nadere informatie

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS)

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) Vereiste voorkennis Voldoende kennis van het besturingssysteem (in deze handleiding wordt uitgegaan van Windows) De basisprincipes van programmeren Vereiste

Nadere informatie

van PSD naar JavaScript

van PSD naar JavaScript 2015 van PSD naar JavaScript F. Vonk versie 2 19-9-2015 inhoudsopgave 1. inleiding... - 2-2. ontwikkelomgeving... - 3-3. programmeerconcepten... - 4 - statement... - 4 - sequentie... - 4 - variabele en

Nadere informatie

De clientkant van webapplicaties in het universitaire onderwijs

De clientkant van webapplicaties in het universitaire onderwijs De clientkant van webapplicaties in het universitaire onderwijs ir. S. Stuurman universitair docent bij de faculteit Informatica van de Open Universiteit, Sylvia.Stuurman@ou.nl ir. H. Koppelman universitair

Nadere informatie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk

Nadere informatie

Lab Webdesign: Javascript 11 februari 2008

Lab Webdesign: Javascript 11 februari 2008 H2: BASISBEGRIPPEN In dit hoofdstuk zullen er enkele basisbegrippen worden behandelt PLAATSING VAN JAVASCRIPT-CODE DE SCRIPT-TAG De script-tag geeft aan dat er gebruik zal worden gemaakt van een scripttaal.

Nadere informatie

Inleiding tot programmeren: Javascript

Inleiding tot programmeren: Javascript Inleiding tot programmeren: Javascript Een definitie JavaScript is een scripttaal met objectgeoriënteerde mogelijkheden. Deze geïnterpreteerde programmeertaal is vooral gericht op het gebruik in webpagina

Nadere informatie

Selenium IDE Webdriver. Introductie

Selenium IDE Webdriver. Introductie Selenium IDE Webdriver Het Wielsem 10, 5231 BW s- Hertogenbosch, telefoon 073-6409311 e- mail info@testwork.nl internet http://www.testwork.nl 1 Inhoudsopgave 1 Inhoudsopgave... 2 2 Selenium IDE... 3 3

Nadere informatie

Interactie: Document Object Model en JavaScript. Hoorcollege Webdesign 7 23 mei 2014 Christof van Nimwegen

Interactie: Document Object Model en JavaScript. Hoorcollege Webdesign 7 23 mei 2014 Christof van Nimwegen Interactie: Document Object Model en JavaScript Hoorcollege Webdesign 7 23 mei 2014 Christof van Nimwegen JavaScript WWW was geheel statisch, interactie was alleen volgen van link Javascript maakt interactie

Nadere informatie

Formulieren maken met Dreamweaver CS 4/CS 5

Formulieren maken met Dreamweaver CS 4/CS 5 Formulieren maken met Dreamweaver CS 4/CS 5 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit

Nadere informatie

JavaScript. 0 - Wat is JavaScript? JavaScript toevoegen

JavaScript. 0 - Wat is JavaScript? JavaScript toevoegen 0 - Wat is JavaScript? JavaScript is hele andere koek dan Scratch. Het wordt ook door professionele programmeurs gebruikt. Doordat er veel mensen gebruik maken van JavaScript is er veel informatie over

Nadere informatie

Lab Webdesign: Javascript 7 april 2008

Lab Webdesign: Javascript 7 april 2008 H8: FORMULIEREN In dit hoofdstuk komt het "form"-object aan de orde: we zullen zien hoe we JavaScript kunnen gebruiken voor het manipuleren en valideren van de gegevens die een eindgebruiker invult in

Nadere informatie

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET Visual Basic.NET M. den Besten 0.3 VB. NET Inhoud Voorwoord Deel 1 Visual Basic.NET 1.1 Inleiding...13 1.2 De programmeertaal Visual Basic.NET...14 1.3 Microsoft Visual Basic 2010 Express Edition...15

Nadere informatie

Zelftest Inleiding Programmeren

Zelftest Inleiding Programmeren Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze

Nadere informatie

Les 9: formulier controle met javascript.

Les 9: formulier controle met javascript. Les 9: formulier controle met javascript. Javascript is erg veel gebruikt bij internet toepassingen. In tegenstelling tot PHP, wat een server side scripting is, is java client side scripting. Dwz, niet

Nadere informatie

Tutorial 1, Delphi: Geldspraak

Tutorial 1, Delphi: Geldspraak Tutorial 1, Delphi: Geldspraak Versie Datum Auteurs Opmerkingen 1 25-09-2001 Kees Hemerik (code) Gebaseerd op Delphi 5 Enterprise. Roel Vliegen (tekst) 2 17-03-2005 Kees Hemerik Aanpassingen: Delphi 7,

Nadere informatie

Access voor beginners - hoofdstuk 25

Access voor beginners - hoofdstuk 25 Access voor beginners - hoofdstuk 25 Handleiding van Auteur: OctaFish Oktober 2014 Werken met Klassemodules Tot nu toe heb ik in de cursus Access veel gewerkt met formulieren, en met procedures en functies.

Nadere informatie

De Kleine WordPress Handleiding

De Kleine WordPress Handleiding Introductie Dit is geen uitgebreide handleiding om een WordPress website of blog mee te bouwen. Het is ook geen overzicht van alle aspecten die een WordPress website zo bijzonder maken en geen verhandeling

Nadere informatie

Quick Guide VivianCMS

Quick Guide VivianCMS Quick Guide VivianCMS Contactformulier creëren Versie: 1.0 Startdatum: 24 juli 2006 Datum laatste wijziging: 24 juli 2006 Opmerking: Gepubliceerd op http://www.viviancms.nl Inhoud 1 Inleiding...3 1.1 Contactformulier

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

Lab Webdesign: Javascript 25 februari 2008

Lab Webdesign: Javascript 25 februari 2008 H4: FUNCTIES We zullen in dit hoofdstuk zien hoe we functies moeten maken, aanroepen, argumenten doorgeven en waarden retourneren. Ook zullen we het hebben over het begrip "recursie", en laten zien hoe

Nadere informatie

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op 1 Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP.... 8 Joomla installeren op XAMPP... 15 Handige links... 16 2 Disclaimer Bij de samenstelling

Nadere informatie

Quick Guide VivianCMS

Quick Guide VivianCMS Quick Guide VivianCMS Gastenboek creëren Versie: 1.0 Startdatum: 24 juli 2006 Datum laatste wijziging: 24 juli 2006 Opmerking: Gepubliceerd op http://www.viviancms.nl Inhoud 1 Inleiding...3 1.1 Contactformulier

Nadere informatie

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl Excel reader Beginner Gemiddeld Auteur Bas Meijerink E-mail bas@excel-programmeur.nl Versie 01D00 Datum 01-03-2014 Inhoudsopgave Introductie... - 3 - Hoofdstuk 1 - Databewerking - 4-1. Inleiding... - 5-2.

Nadere informatie

De principes van unobtrusive JavaScript. Peter-Paul Koch (ppk) http://www.quirksmode.org PFCongrez, 12 april 2008

De principes van unobtrusive JavaScript. Peter-Paul Koch (ppk) http://www.quirksmode.org PFCongrez, 12 april 2008 De principes van unobtrusive JavaScript Peter-Paul Koch (ppk) http://www.quirksmode.org PFCongrez, 12 april 2008 Unobtrusive JavaScript Bescheiden? Onopvallend? Unobtrusive JavaScript Volgens Wikipedia

Nadere informatie

Handleiding voor Zotero versie 2.0

Handleiding voor Zotero versie 2.0 Handleiding voor Zotero versie 2.0 Michiel Wolda De handleiding voor Zetero is geschreven voor de lezers van het boek Deskresearch: Informatie selecteren, beoordelen en verwerken: tweede editie (Van Veen

Nadere informatie

Test Joomla op je PC 1

Test Joomla op je PC 1 1 Disclaimer Bij de samenstelling van dit ebook is de grootst mogelijke zorg besteed aan de juistheid en correctheid van de informatie die in dit ebook wordt verstrekt. De auteur van dit ebook kan op geen

Nadere informatie

Documentatie. InstantModules Q42. Versie 1.1

Documentatie. InstantModules Q42. Versie 1.1 Documentatie InstantModules Q42 Versie 1.1 Inhoudsopgave Inhoudsopgave... 2 Voor gebruikers... 3 InstantComment... 3 InstantTagging... 5 Voor webmasters... 9 InstantComment... 9 InstantTagging... 11 Voor

Nadere informatie

Handleiding Wordpress

Handleiding Wordpress Handleiding Wordpress Inhoudsopgave 1. Inloggen 2. Berichten en Pagina s 3. Afbeeldingen en video s 4. Weblinks 1. Inloggen 1.1 Inloggen bij Wordpress We starten met het inloggen op je WordPress gebaseerde

Nadere informatie

Javascript oefenblad 1

Javascript oefenblad 1 Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de

Nadere informatie

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11 Web building gevorderden: CSS & JavaScript Karel Nijs 2008/11 Webbuilding gevorderden les 3 JavaScript intro JavaScript invoegen JavaScript statements JavaScript popup berichten JavaScript functies JavaScript

Nadere informatie

College Notatie, Recursie, Lijsten

College Notatie, Recursie, Lijsten College 2016-2017 2. Notatie, Recursie, Lijsten Doaitse Swierstra (Jeroen Bransen) Utrecht University September 13, 2016 Functieapplicatie functieapplicatie associeert naar links: als x in f x y moet kiezen

Nadere informatie

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40 Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N

Nadere informatie

In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze. programmeertaal? En hoe is het ontstaan? Ook leer je welke editors

In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze. programmeertaal? En hoe is het ontstaan? Ook leer je welke editors 1. Over PHP 1.1 Inleiding In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze programmeertaal? En hoe is het ontstaan? Ook leer je welke editors je kunt gebruiken om PHP-scripts te maken en hoe je

Nadere informatie

Een korte samenvatting van enkele FORTRAN opdrachten

Een korte samenvatting van enkele FORTRAN opdrachten Een korte samenvatting van enkele FORTRAN opdrachten Inhoud 1 Introductie 3 2 De structuur van een FORTRAN programma 3 3 Datatypen, variabelen en declaraties 3 4 Expressies-volgorde van uitwerking 4 5

Nadere informatie

Bijlage Inlezen nieuwe tarieven per verzekeraar

Bijlage Inlezen nieuwe tarieven per verzekeraar ! Bijlage inlezen nieuwe tarieven (vanaf 3.2) Bijlage Inlezen nieuwe tarieven per verzekeraar Scipio 3.303 biedt ondersteuning om gebruikers alle tarieven van de verschillende verzekeraars in één keer

Nadere informatie

Formulieren maken met Dreamweaver CS 4

Formulieren maken met Dreamweaver CS 4 Formulieren maken met Dreamweaver CS 4 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit zoveel

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

Werken op afstand via internet

Werken op afstand via internet HOOFDSTUK 12 Werken op afstand via internet In dit hoofdstuk wordt uitgelegd wat er nodig is om op afstand met de ROS artikel database te kunnen werken. Alle benodigde programma s kunnen worden gedownload

Nadere informatie

Een eerste applicatie

Een eerste applicatie Een eerste applicatie 2.1 Inleiding Programmeren in Visual Basic.NET doe je niet alleen door regels met code te schrijven. Je begint met het ontwerpen van een venster in de design mode met allerlei controls,

Nadere informatie

U krijgt de melding dat uw browser geen cookies aanvaardt? Volg dan onderstaande weg om ze wel te accepteren.

U krijgt de melding dat uw browser geen cookies aanvaardt? Volg dan onderstaande weg om ze wel te accepteren. HELP BIJ HET RAADPLEGEN VAN HET PORTAAL HDP Hoe internet-cookies aanvaarden? U krijgt de melding dat uw browser geen cookies aanvaardt? Volg dan onderstaande weg om ze wel te accepteren. Internet Explorer

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 7 2.1 Tekstboeken 7 2.2 Voorkennis 8 2.3 Leerdoelen 9 2.4 Opbouw van de cursus 10 3 Leermiddelen en wijze van

Nadere informatie

Foutcontrole met Javascript

Foutcontrole met Javascript Foutcontrole met Javascript Pol Van Dingenen Yannick Van Hauwe INLEIDING Het controleren van de gegevens die ingevuld zijn in formulieren is heel erg belangrijk. In de praktijk is enkel en alleen controle

Nadere informatie

Inhoudsopgave... 1 Disclaimer... 3 Voorwoord... 3 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

Inhoudsopgave... 1 Disclaimer... 3 Voorwoord... 3 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op 1 Inhoudsopgave... 1 Disclaimer... 3 Voorwoord... 3 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op XAMPP... 14 Handige links... 15 2 Disclaimer Bij de

Nadere informatie

Versie 0.4. Documentatie Onsweb Club plugin voor KNKV verenigingen. Laatste wijziging: 19 juli 2012 Auteurs: Marien Dongstra, Sebastian Huisman

Versie 0.4. Documentatie Onsweb Club plugin voor KNKV verenigingen. Laatste wijziging: 19 juli 2012 Auteurs: Marien Dongstra, Sebastian Huisman Documentatie Onsweb Club plugin voor KNKV verenigingen Versie 0.4 Laatste wijziging: 19 juli 2012 Auteurs: Marien Dongstra, Sebastian Huisman Alle rechten in dit document zijn voorbehouden. www.onsweb.nl,

Nadere informatie

Handleiding CrisisConnect app beheersysteem

Handleiding CrisisConnect app beheersysteem Handleiding CrisisConnect app beheersysteem Inhoudsopgave 1. Start 1.1. Vereisten gebruik 1.2. Inloggen 1.3. Wachtwoord wijzigen 2. Vullen 2.1. Dossiers 2.2. Processen 2.2.1. Tekst toevoegen 2.2.2. Bijlagen

Nadere informatie

eerste voorbeelden in Java

eerste voorbeelden in Java Beginselen van programmeren 2 eerste voorbeelden in Java vereisten: een editor: om programma in te tikken en te bewaren een Java compiler: zet ingetikte (bron-) programma om naar byte-code een Java Virtuele

Nadere informatie

Een ASP.NET applicatie opzetten. Beginsituatie:

Een ASP.NET applicatie opzetten. Beginsituatie: Hoofdstuk 1 Een ASP.NET applicatie opzetten Beginsituatie: Windows XP Pro, Windows Vista Pro of Windows 7 Pro Visual Studio.NET moet zijn geïnstalleerd. Let hierbij op dat de Express versie niet voldoet.

Nadere informatie

Handleiding bij de Booktest Generator

Handleiding bij de Booktest Generator Handleiding bij de Booktest Generator Het programma voor het maken van toetsen bij boeken. (c) 2005/2009 Visiria Uitgeversmaatschappij Twisk Inleiding Onze dank voor het aanvragen van de Booktest Generator.

Nadere informatie

Handleiding website. Inloggen Start uw internet browser en ga naar http://www.rbaoreven.nl/.

Handleiding website. Inloggen Start uw internet browser en ga naar http://www.rbaoreven.nl/. Handleiding website In deze handleiding staat alles wat u nodig heeft om een bericht op de website van de Reddingsbrigade Aoreven Heythuysen te plaatsen. Alles wordt in woord en beeld uitgelegd. Inloggen

Nadere informatie

Interactieve formulieren met gedragingen en Spry

Interactieve formulieren met gedragingen en Spry 14 Interactieve formulieren met gedragingen en Spry De belangrijkste punten van hoofdstuk 14 Kennismaken met Gedragingen (Behaviors). Webeffecten leren aanmaken. De verschillende soorten Gedragingen gebruiken.

Nadere informatie

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken.

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. 6.3 VBA Syntax Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. Klik te tab Hulpmiddelen voor databases Klik in het groepsvak Macro op

Nadere informatie

VKblog-importer : De gebruiksaanwijzing.

VKblog-importer : De gebruiksaanwijzing. VKblog-importer : De gebruiksaanwijzing. deze gebruiksaanwijzing beschrijft versie 0.1.2 VKblog-importer is een plugin voor WordPress die bedoeld is om blogs van VKblog te importeren in WordPress. Posts

Nadere informatie

Handleiding Kaltura via Blackboard

Handleiding Kaltura via Blackboard Handleiding Kaltura via Blackboard Studenten handleiding versie 1 juni 2016 Inhoudsopgave Inloggen in Blackboard... 2 My Media... 2 Introductie My Media... 2 My Media: Add New... 5 Add New: Media Upload...

Nadere informatie

Meehelpen met de ontwikkeling van nieuwe of verbetering van bestaande spellen. Pag. 1 www.edubas.nl

Meehelpen met de ontwikkeling van nieuwe of verbetering van bestaande spellen. Pag. 1 www.edubas.nl Meehelpen met de ontwikkeling van nieuwe of verbetering van bestaande spellen. Pag. 1 Versie 1.0 februari 2015 Start-versie Over dit document In dit document probeer is duidelijk te maken hoe de spellen

Nadere informatie

Summa Cutter Tools. 1 Cutter tools. Met dit programma kunnen twee dingen geïnstalleerd worden:

Summa Cutter Tools. 1 Cutter tools. Met dit programma kunnen twee dingen geïnstalleerd worden: Summa Cutter Tools 1 Cutter tools Met dit programma kunnen twee dingen geïnstalleerd worden: 1. Plug-in voor Corel (vanaf versie 11) en Adobe Illustrator (vanaf versie CS). De plug-in voor Corel installeert

Nadere informatie

DrICTVoip.dll v 2.1 Informatie en handleiding

DrICTVoip.dll v 2.1 Informatie en handleiding DrICTVoip.dll v 2.1 Informatie en handleiding Nieuw in deze versie : Koppeling voor web gebaseerde toepassingen (DrICTVoIPwebClient.exe) (zie hoofdstuk 8) 1. Inleiding Met de DrICTVoIP.DLL maakt u uw software

Nadere informatie

JavaLogo-programma s op het web plaatsen

JavaLogo-programma s op het web plaatsen Bijlage JavaLogo-programma s op het web plaatsen In deze bijlage laten we u zien hoe u JavaLogo-programma s op het web kunt plaatsen, met als voorbeeld het programma Cirkels uit opgave 2.16. We gaan er

Nadere informatie

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int

Nadere informatie

Dynamische websites met PHP (basis) Karel Nijs 2010/09

Dynamische websites met PHP (basis) Karel Nijs 2010/09 Dynamische websites met PHP (basis) Karel Nijs 2010/09 Leswijze Eerst wat theorie Begeleid met (korte) oefeningen Editor = UltraEdit Geen DreamWeaver Browser = Internet Explorer Vereiste voorkennis: (X)HTML

Nadere informatie

Wat zijn de verschillen tussen SPSS 9 en SPSS 10?

Wat zijn de verschillen tussen SPSS 9 en SPSS 10? Wat zijn de verschillen tussen SPSS 9 en SPSS 10? 1.1 De data-editor / het definiëren van variabelen 1.2 Het openen van bestanden 1.3 Output lezen 1.4 Mogelijke problemen 1.1.1 De data-editor Het grootste

Nadere informatie

DEEL: THEMA. Klik op Thema. Nu verschijnen er een aantal thema s. Dubbelklik op een thema en je krijgt het volgende schermpje:

DEEL: THEMA. Klik op Thema. Nu verschijnen er een aantal thema s. Dubbelklik op een thema en je krijgt het volgende schermpje: DEEL: THEMA In het Notebook kun je zelf snel de bladzijde een leuk uiterlijk geven d.m.v. een thema. Deze thema s vind je op de volgende manier: Klik op Gallery Klik op Thema Nu verschijnen er een aantal

Nadere informatie

1. Over LEVIY 5. Openen van de activiteit 2. Algemene definities 6. Inloggen op het LEVIY dashboard 3. Inloggen 6.1 Overzichtspagina 3.

1. Over LEVIY 5. Openen van de activiteit 2. Algemene definities 6. Inloggen op het LEVIY dashboard 3. Inloggen 6.1 Overzichtspagina 3. Versie 1.0 05.03.2015 02 1. Over LEVIY Wat doet LEVIY? 08 5. Openen van de activiteit Hoe wordt de activiteit geopend? 2. Algemene definities Behandelen van terugkerende definities. 09 6. Inloggen op het

Nadere informatie

Handleiding wordpress

Handleiding wordpress Handleiding wordpress Wordpress versie 3.0.4 Handleiding versie 1.1 Auteur Website Geert Hoekzema www.geerthoekzema.nl www.geerthoekzema.nl geert@geerthoekzema.nl 1 Inhoudsopgave Inleiding... 3 Beginnen

Nadere informatie

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet

Nadere informatie

In het CMS is het mogelijk om formulieren aan te maken. Voorafgaand een belangrijke tip:

In het CMS is het mogelijk om formulieren aan te maken. Voorafgaand een belangrijke tip: FORMULIEREN In het CMS is het mogelijk om formulieren aan te maken. Voorafgaand een belangrijke tip: belangrijk Importeer formulierdata uit een CSV-bestand precies zoals verderop beschreven. 1. Gedrag

Nadere informatie

Inhoud van de website invoeren met de ContentPublisher

Inhoud van de website invoeren met de ContentPublisher Inhoud van de website invoeren met de ContentPublisher De inhoud van Muismedia websites wordt ingevoerd en gewijzigd met behulp van een zogenaamd Content Management Systeem (CMS): de ContentPublisher.

Nadere informatie

Welkom bij de Gastouderacademie! (handleiding voor gastouders)

Welkom bij de Gastouderacademie! (handleiding voor gastouders) Welkom bij de Gastouderacademie! (handleiding voor gastouders) De persoonlijke inloggegevens die u via het gastouderbureau heeft ontvangen geven toegang tot alle leermodules van de Gastouderacademie. Het

Nadere informatie

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, 13.00-15.00 uur 1. De situatie die ontstaat door class A : B C D; kan beschreven worden door (a) B is een A (b)

Nadere informatie

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk. HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 7 2.1 Tekstboek 7 2.2 Voorkennis 8 2.3 Leerdoelen 8 2.4 Opbouw van de cursus 9 3 Leermiddelen en wijze van studeren

Nadere informatie

Exercise assistant on-line

Exercise assistant on-line Exercise assistant on-line Onderwerpen - Introductie Exercise Assistant - On-line volgens MVC principe - Problemen bij MVC principe - Mogelijke oplossing - Richtingen onderzoek - Mogelijkheid tot meedoen

Nadere informatie

HvA Instituut voor Interactieve Media ActionScript 3.0

HvA Instituut voor Interactieve Media ActionScript 3.0 PPRO 1: OEFENINGEN LES 1 Hierbij de werkgroepoefeningen behorend bij het practicum week 1. Lees de stukken uitleg aandachtig door, zonder deze informatie zullen de principes in de oefeningen moeilijk te

Nadere informatie

Een voorpagina of vaklokaal omzetten in WordPress

Een voorpagina of vaklokaal omzetten in WordPress Een voorpagina of vaklokaal omzetten in WordPress Vooraf Niet elk vaklokaal is met de huidige opzet en vormgeving geschikt om die zonder al teveel extra werk om te zetten in het format van WordPress. Vooral

Nadere informatie

6.2 VBA Syntax. Inleiding Visual Basic

6.2 VBA Syntax. Inleiding Visual Basic 6.2 VBA Syntax Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. Klik te tab Hulpmiddelen voor databases Klik op Maken Macro s en Code -

Nadere informatie

Mappen en bestanden. In dit hoofdstuk leert u het volgende:

Mappen en bestanden. In dit hoofdstuk leert u het volgende: Mappen en bestanden 1 Mappen en bestanden Een bestand is een verzamelnaam voor teksten, tekeningen of programma s. Alles wat op de vaste schijf van uw computer staat, is een bestand. Op een vaste schijf

Nadere informatie

Verder zijn er de nodige websites waarbij voorbeelden van objectgeoriënteerd PHP (of Objec Oriented PHP, OO PHP) te vinden zijn.

Verder zijn er de nodige websites waarbij voorbeelden van objectgeoriënteerd PHP (of Objec Oriented PHP, OO PHP) te vinden zijn. Objectgeoriënteerd PHP (versie 5) Kennisvereisten: Ervaring met programmeren in PHP met MySQL Je weet wat een class of klasse is Je weet wat een instantie van een klasse (een object) is Je weet wat een

Nadere informatie

opgericht 1 augustus 1932 Handleiding Artikel plaatsen

opgericht 1 augustus 1932 Handleiding Artikel plaatsen opgericht 1 augustus 1932 Handleiding Artikel plaatsen Gemaakt door : Marcel van Vuuren Bijgewerkt op : vrijdag 24 juli 2015 Versie : 24072015_v3.0 Inhoudsopgave Inleiding... 3 Plaatsen van een artikel...

Nadere informatie

Veel gestelde vragen over de website kerkomroep

Veel gestelde vragen over de website kerkomroep Veel gestelde vragen over de website kerkomroep 1 Inhoudsopgave Inhoudsopgave...2 Installatie sikn speler...3 Problemen bij installatie sikn speler?...4 Installatie Audiospeler overige browsers...6 Vind

Nadere informatie

De Grootste Belg triggeren. (zie ook cursus p.8)

De Grootste Belg triggeren. (zie ook cursus p.8) De Grootste Belg triggeren. (zie ook cursus p.8) Bedoeling Op de voorstellingsdia van de 10 kandidaten willen we de foto en de naam laten verschijnen op het ogenblik dat op het pictogram wordt geklikt

Nadere informatie

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur 1. deze opgave telt voor 30% van het totaal. Schrijf een compleet programma, dat door de gebruiker vanaf

Nadere informatie

Handleiding Kaltura via Blackboard

Handleiding Kaltura via Blackboard Handleiding Kaltura via Blackboard Docenten handleiding Versie 21 september 2016 Inhoudsopgave Inloggen in Blackboard... 2 My Media... 2 Introductie My Media... 2 My Media: Add New... 5 Add New: Media

Nadere informatie

1 Inleiding in Functioneel Programmeren

1 Inleiding in Functioneel Programmeren 1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp

Nadere informatie

HTML Editor: tabellen en hyperlinks

HTML Editor: tabellen en hyperlinks LES 19 HTML Editor: tabellen en hyperlinks In deze les leert u nog iets meer over HTML en de HTML Editor van OpenOffice.org. U leert hoe u absolute en relatieve hyperlinks maakt. We staan even stil bij

Nadere informatie

Over PHP. PHP en MySQL. 1.1 Inleiding. In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze

Over PHP. PHP en MySQL. 1.1 Inleiding. In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze Over PHP 1.1 Inleiding In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze programmeertaal? En hoe is het ontstaan? Ook leer je welke editors je kunt gebruiken om PHP-scripts te maken en hoe je eenvoudig

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 13 november 2015 Expressies Functies Ingebouwde functies Variabelenbereik Inleveropgave 1 Terugblik Programma is een lijst van opdrachten Terugblik Programma is

Nadere informatie

Handleiding Digibordsoftware Malmberg

Handleiding Digibordsoftware Malmberg Handleiding Digibordsoftware Malmberg 1 Inhoudsopgave 1. Inleiding 3 2. Snel starten 4 2.1 Inloggen via Basispoort 2.2 De digibordsoftware starten 2.3 Een les starten 3. De basiswerking 6 3.1 Het lesmenu

Nadere informatie

Koppeling met een database

Koppeling met een database PHP en MySQL Koppeling met een database 11.1 Inleiding In PHP is het eenvoudig om een koppeling te maken met een database. Een database kan diverse gegevens bewaren die met PHP aangeroepen en/of bewerkt

Nadere informatie

Acht stappen voor JSF

Acht stappen voor JSF Acht stappen voor JSF Inleiding In deze tutorial zullen we JSF (Java server faces) installeren. Wat we niet beschrijven is hoe te werken met JSF, over dit onderwerp zijn er genoeg boeken en internetsites

Nadere informatie