JS - INTRODUCTIE

Koppelingen
Voorbeelden bij dit hoofdstuk

HOOFDSTUKKEN

ALGEMEEN
* Wat kan JavaScript (niet)
* HTML-DOM
* Client Side
* Platform onafhankelijk
* Editen
* Problemen
TAALELEMENTEN
* Objecten en Events
* Variabelen
* Operators
* Statements
* Functies
SCHRIJFWIJZE
* <SCRIPT>-tags
* Opdrachten in JavaScript
* Invoegen van JavaScript
* Oudere browsers
* JavaScript commentaar
* Scripts van anderen
* Invoegen van bijzondere tekens
* Spaties
* Afbreken van een coderegel
* Diverse regels
* Gereserveerde woorden
* Entiteiten





ALGEMEEN

Terug naar de top

 

JavaScript is na HTML en CSS de derde belangrijke bouwsteen van de webpagina. JavaScript is bedoeld voor het maken van interactieve webpagina’s. JavaScript is zeer veelzijdig. Het is dan ook onmogelijk om alles weer te geven wat men met JavaScript kan doen.

Wat kan JavaScript (niet)

Terug naar de top

 

JavaScript is ontworpen om HTML pagina's interactief te maken. Dit houdt in dat:

  • JavaScript kan nieuwe vensters openen (eventueel als pop-up) waarbij een volledige controle wordt gehouden over grootte, positie en uiterlijk (zijn menu's, werkbalken, etc. zichtbaar)
  • JavaScript pagina's kan maken met dynamische menu's, enz.
  • JavaScript niet alleen teksten kan plaatsen in het hoofdvenster, maar ook in de statusbalk van de browser, in aparte vensters (popup boxen) en in dialoogboxen
  • JavaScript kan een dynamische tekst op een HTML pagina plaatsen - Een JavaScript statement als deze: document.write ("<h1>" + name + "</h1>") kan een variabele tekst in een HTML pagina schrijven
  • JavaScript kan variabele gegevens, zoals datum, tijd, maar ook getallen, enz., weergeven en/of daar bewerkingen mee uitvoeren (rekenmachine)
  • JavaScript kan afbeeldingen veranderen als de muis erover beweegt. Dit effect wordt vaak gebruikt om de aandacht te vestigen op belangrijke koppelingen.
  • JavaScript kan reageren op gebeurtenissen (events) - Een JavaScript kan opgezet worden om uitgevoerd te worden als er iets gebeurt, bijvoorbeeld aan het einde van het laden van een pagina of als een gebruiker op een HTML element klikt
  • JavaScript kan HTML elementen lezen en schrijven - Een JavaScript kan een HTML element lezen en veranderen
  • JavaScript kan gebruikt worden om gegevens te controleren - Een JavaScript kan gebruikt worden om gegevens in een formulier te controleren voordat deze verzonden wordt. Dit bespaart de server extra processing
  • Met JavaScript kun je vaststellen welke browser je bezoekers gebruiken en - afhankelijk van de browser - ze naar een aangepaste pagina kunt sturen speciaal ontwikkeld voor die browser
  • JavaScript gebruikt worden om cookies te maken - Een JavaScript kan gebruikt worden om gegevens op te slaan op en te lezen van de computer van de bezoeker

 

JavaScript is een veilige taal. het is niet mogelijk er bestanden mee te verwijderen, een printer aan te sturen of een harde schijf te formatteren.

HTML - DOM

Terug naar de top

 

De Javascript engine baseert zich op een gastomgeving waar het in opgenomen wordt. De belangrijkste wijze waarop JavaScript gebruikt wordt is voor het schrijven van functies die ingebed worden in HTML-pagina's en samenwerken met het Document Object Model (DOM) van de pagina, om taken uit te voeren die HTML niet alleen kan.

Het object model van het in de browser opgenomen JavaScript, het DOM, maakt geen deel uit van ECMA-262. DOM is gedefinieerd door W3C en is bruikbaar voor de toegang tot en het manipuleren van HTML- en XHTML-documenten in veel computertalen en op veel platforms.

 

Omdat JavaScript zeer veel gebruik maakt van het DOM, wordt het vaak in één adem genoemd en vervaagt het verschil. In deze cursus worden echter de objects en events waar JavaScript gebruik van maakt, maar die tot het DOM behoren, ook bij het DOM behandeld. NB. JavaScript is niet de enige scripttaal die gebruik maakt van het DOM. Ook VBScript maakt gebruik van het DOM.

Client Side

Terug naar de top

 

JavaScript is een client-side script. Dit houdt in, dat er gewerkt wordt op de computer van de gebruiker met de browser van de gebruiker. Met een server-side scripttaal als PHP kunnen veel handelingen en bewerkingen naar de server verplaatst worden. Daardoor hoeft de gebruiker niet veel meer te doen, dan HTML weer te geven. Een client-side scripttaal heeft echter mogelijkheden die een server-side scripttaal niet kent. weergeven van een tekst op de statusbalk of het openen van een nieuw venster kan niet met een server-side scripttaal. Daarnaast zijn er zaken die ze beide kunnen, maar waarbij het soms toch verstandig kan zijn om een client-side scripttaal te gebruiken. Voorbeeld is het controleren van formulieren. Door dit client-side te doen, wordt het dataverkeer tussen client en server beperkt.

Javascript wordt uitgevoerd op de computer van de bezoeker (client side). Het kan dus geen acties uitvoeren op de server. Verwerken van formulieren of invullen van een gastenboek kan niet met Javascript. Wel is het mogelijk om met Javascript controles uit te voeren op datgene wat uiteindelijk naar de server gestuurd wordt (zijn alle vakken ingevuld; staan er geen cijfers op plaatsen waar letters moeten staan; wordt er in het vak emailadres iets ingevuld dat de kenmerken van een emailadres heeft, enz.

Platform onafhankelijk

Terug naar de top

 

JavaScript is platform onafhankelijk; het is in principe geschikt voor elke computer en elk besturingssysteem. Ook zijn vele scripts op internet te vinden. JavaScript werkt samen met HTML 4.0, DHTML en XHTML. Kennis van HTML is daarom noodzakelijk als men met JavaScript wil werken.

Editen

Terug naar de top

 

JavaScript is relatief eenvoudig. JavaScript is tekst. De broncode kan direct ingevoerd worden in een HTML-document of worden opgeslagen als een apart bestand. Dit kan worden gedaan met een gewone HTML- of teksteditor. WYSIWYG editors zijn hiervoor minder geschikt, omdat die meestal niet met JavaScript overweg kunnen. Bovendien is het in deze editors moeilijk om de broncode aan te passen. Compileren is niet nodig.

Problemen

Terug naar de top

 

JavaScript is in eerste instantie ontwikkeld door Brendan Eich van Netscape onder de naam Mocha, later LiveScript en nog later JavaScript. Javascript is voor het eerst geïntroduceerd in Netscape 2.0B3 in december 1995. De naam leidde tot verwarring omdat hiermee gesuggereerd werd, dat het een afgeleide was van Java. Microsoft noemde de implementatie van de taal JScript. Microsoft stuurde haar versie naar ECMA voor standaardisatie wat resulteerde in een standaardversie genaamd ECMAScript. De laatste versie is Javascript 1.7. De versie 1.6 correspondeert met ECMA 262-3.

De DOM-interfaces in de diverse browsers variëren echter en komen niet altijd overeen met de W3C-standaarden. In plaats van het schrijven van diverse varianten van JavaScript-functies voor de diverse in gebruik zijnde browsers, is het meestal mogelijk, door het zorgvuldig volgen van de W3C DOM level 1 of 2 standaarden, om de gewenste functionaliteit op een standaard algemeen toepasbare wijze op te zetten, die door de meeste browsers op de juiste wijze uitgevoerd zullen worden. Waar dit niet praktisch is, zullen functies en eigenschappen tijdens de uitvoering getest moeten worden. Er moet ervoor zorg gedragen worden dat pagina's op een goede wijze omgaan met de mogelijkheid, dat JavaScript niet goed) geïmplementeerd kan worden, bijvoorbeeld doordat:

  • De gebruiker, bijvoorbeeld om veiligheidsredenenen, JavaScript uitgeschakeld heeft.
  • De gebruiker een browser heeft die niet met JavaScript kan omgaan; bijvoorbeeld een PDA of mobiele telefoon.
  • JavaScript visueel of op een andere wijze uitgeschakeld is bijvoorbeeld omdat een ongebruikelijke browser wordt gebruikt, een spraakbrowser of een browser met een zeer grote tekst-vergroting.

Om problemen te voorkomen dient er uitgebreid zorg gegeven te worden aan de codes om ervoor te zorgen dat ze in zoveel mogelijke omgevingen goed uitgevoerd worden en waar dit niet mogelijk is, op een nette manier omgaan met de pagina's waar ze in staan (degraderen van de pagina's). Elk scriptblock wordt apart uitgevoerd. Op pagina's waar JavaScript en HTML in één blok voorkomen, kunnen schrijfwijze-fouten beter opgespoord worden als de functies in aparte script-blokken worden gezet, of (bij voorkeur) in vele, apart gekoppelde .js files.

 

 

Het debuggen van JavaScript is ook afwijkend in vergelijking met die van stand-alone pagina's. JavaScript programma's baseren zich veelal op interactie met de DOM van de geladen pagina. Fouten kunnen daarom ontstaan door het op een onjuist wijze omgaan met de DOM met een overigens technisch goed script. Dit maakt het vinden van fouten met JavaScript moeilijk te vinden. De nieuwe browsers, die gebaseerd zijn op Internet Explorer of Gecko technologie bezitten een JavaScript debugger.

TAALELEMENTEN

Terug naar de top

 

Javascript is in feite een reeks opdrachten die door de browser uitgevoerd worden. Het doel van de opdracht is de browser te vertellen wat die moet doen.

Objecten en events

Terug naar de top

 

Javascript is een objectgeoriënteerde (object-oriented) en gebeurtenisgestuurde (event-driven) scripttaal. Bij JavaScript voeren scripts altijd bewerkingen uit voor of met een object, bijvoorbeeld een hyperlink, een afbeelding of een knop. Ook algemene scripts die tussen de HEAD-tags of in een bibliotheek zijn opgenomen, werken altijd met een specifiek object. Dat kan de hele pagina zijn.

Objecten binnen JavaScript beschikken allemaal over zogenaamde properties en methods. Properties (eigenschappen) zijn een soort variabelen die bij een specifiek object horen en methods zijn bewerkingen op het object. Een persoon is een object. Eigenschappen (properties) zijn de waarden die verbonden zijn aan de persoon. De eigenschappen van de persoon omvatten bijvoorbeeld naam, lengte, gewicht, leeftijd. Alle personen hebben die, maar de waarden behorende bij de eigenschappen kunnen per persoon verschillen. Objecten hebben ook methodes. Methodes zijn de acties die uitgevoerd kunnen worden door het object. Voorbeelden van methodes van persoon zijn: eten(), slapen(), werken().

JavaScript kent drie soorten objecten:

  • In JavaScript ingebouwde objecten, waaronder "date"
  • Zelfgemaakte objecten;
  • Objecten van browsers (gastobjecten). Deze zijn niet gedefinieerd door JavaScript, maar door de omgeving waarin ze werken. Binnen een browser behoren typische gastobjecten tot het Document Object Model; het DOM.

Door de object-georiënteerde aanpak kunnen programmeurs heel eenvoudig gebruik maken van codefragmenten van andere programmeurs: door een object in te voegen, voegt u meteen alle eigenschappen van het object toe.

Objecten in JavaScript kunnen opgestart worden door zogenaamde event handlers. Dit houdt in, dat men kan regelen, dat een programmacode pas uitgevoerd wordt als een gebeurtenis / event zich voordoet. Voorbeelden van events zijn: opstarten en verlaten van een pagina, klikken op een knop en met de muis over een speciaal deel van de pagina bewegen. Deze eigenschap van JavaScript maakt de programmeertaal bijzonder geschikt voor het uitvoeren van bepaalde taken. Bijvoorbeeld kan JavaScript een invulformulier controleren op onjuistheden. Die controle wordt dan gestart bij het indrukken van de verzendknop en kan leiden tot een foutmelding.

Bij het gebeurtenis-sturen maakt JavaScript eveneens gebruik van externe mogelijkheden. In HTML 4.01 zijn zogenaamde events gedefinieerd. Deze behoren eveneens tot het DOM. Daarnaast kennen de diverse browsers eigen events. Deze worden echter lang niet altijd door de andere browsers ondersteund.

Behandelen van objecten van browsers en events wordt uitgebreid behandeld in de hoofdstukken over DOM.

Variabelen

Terug naar de top

 

Eén van de belangrijkste kenmerken is het kunnen werken met gegevens. In de meeste gevallen gebruikt men hiervoor variabelen. Een variabele is in feite een gegevensdrager. Er zit een waarde in, die overigens door bewerking kan veranderen. De inhoud kan van een verschillend soort zijn. Dat noemt men een gegevenstype

In hoofdlijnen zijn er drie soorten gegevenstypen:

  • Numbers - Getallen, zowel hele getallen (integers) als met een komma (floating point).
  • String - Tekenreeksen (tekst, kunnen ook getallen zijn die als tekst zijn opgeslagen)
  • Boolean variabelen (met twee mogelijkheden: waar/onwaar, ja/nee, 0/1)

 

Een aparte variabele is de Array. Dit is een gegevensdrager, waarin een reeks gegevens van verschillende gegevenstypen kan worden opgeslagen.

Een object wordt ook wel eens beschouwd als een apart soort variabele omdat deze ook gegevens in zich draagt (of kan dragen).

Operators

Terug naar de top

 

Operators 'doen' iets met gegevens. Voor de diverse gegevensdragers zijn er dan ook verschillende operators. Overzicht van deze operrators:
Rekenkundige operators
Voor het optellen, aftrekken, vermenigvuldigen en delen van numerieke constanten en variabelen.
Toewijzingsoperators
Wijzen een waarde toe aan een variabele of veranderen de waarde.
Stringoperators
Zorgen voor de manipulatie van stringwaarden.
Logische operators
Werken met Booleans en worden gebruikt om waarden te controleren.
Vergelijkingsoperators
Worden gebruikt om de relatie tussen twee numerieke waarden te testen.
Bitoperators
Veranderen individuele bits in een numerieke waarde.

Statement

Terug naar de top

 

Statements worden gebruikt om een bepaalde toestand vast te stellen of om tot een bepaald eindresultaat te komen. Er zijn diverse soortten statements:
Voorwaardelijke (conditional) statements worden gebruikt om diverse acties uit te voeren gebaseerd op diverse condities (als ... dan). Vaak als je een code schrijft, wil je dat onder verschillende omstandigheden verschillende acties worden uitgevoerd. Dit kan door voorwaardelijke statements op te nemen in de code.
Loops worden gebruikt om hetzelfde codeblok een gespecificeerd aantal malen uit te voeren of zolang als een bepaalde conditie waar is. Het is met loops niet nodig om hetzelfde codeblok meerdere keren in een code op te nemen.
Object Manipulation Statements (for...in statement) wordt gebruikt om alle elementen van een object automatisch te doorlopen (iteration). Kan hulpvol zijn als een aantal eigenschappen niet bekend is, of regelmatig verandert. De code in de body van de for ... in loop wordt éénmaal voor elk element/property uitgevoerd.
Exception Handling Statements worden gebruikt om een codeblok op fouten te onderzoeken en vervolgens aan te geven wat er met eventuele fouten gedaan moet worden. Ook geeft het het vervolg aan op het zoeken naar fouten.

Functies

Terug naar de top

 

Een functie (function) is een blok opdrachten, die pas wordt uitgevoerd bij een speciale gebeurtenis (event) of wanneer de functie wordt aangeroepen (call). Daarnaast kunnen functies ook meerdere malen in het script worden aangeroepen en kan ook weer worden gebruikt in andere scripts. Met behulp van functies kunnen programma's in deeltjes worden geschreven. Elke functie kan de oplossing zijn van een deelprobleem.

Een scripttaal ontleent zijn kracht aan het feit dat de gebruiker het kan aanpassen aan zijn eigen wensen en eisen. Standaard beschikt een script-taal over een hele reeks interne commando's die kunnen worden aangeroepen. Een voorbeeld hiervan is de verzameling data- en tijdfuncties in JavaScript. Alleen met deze interne functies is het mogelijk om geavanceerde scripts te schrijven die voldoen aan uw eigen wensen.

SCHRIJFWIJZE

Terug naar de top


<SCRIPT>-tags

Terug naar de top

 

Voordat een browser in staat is om een script te herkennen moeten aan het HTML-document de tags <SCRIPT> en </SCRIPT> worden toegevoegd. Omdat er verschillende soorten scripts bestaan wordt de begintag veranderd in <SCRIPT language= "JavaScript">. Op die manier weet de browser dat het om JavaScript gaat. Tussen <SCRIPT language= "JavaScript"> en </SCRIPT> kunnen de eigenlijke JavaScript instructies staan. Wordt de script-tag niet opgenomen; dan wordt het script als pure tekst beschouwd.
Schrijfwijze:

<script language="JavaScript"">
....
</script>

In plaats van "language" ziet men ook wel "type=text/". Voorbeeld:

<script type="text/javascript">
....
</script>

JavaScript is ook onderwerp geweest van de oorlog tussen Internet Explorer en Netscape. De beide browsers zijn nog steeds verschillend in hun interpretatie van JavaScript. Met het ontstaan van nieuwere versies wordt dit echter steeds minder. Wel heeft men de nieuwste browser nodig. Oudere browsers kunnen alleen oudere versies van Javascript interpreteren. Inmiddels is men toe aan versie 1.7.

Met behulp van de <script>-tag kan men aangeven welke JavaScript-versie men wil gebruiken. Dit doet men via de attribuut"language" en het aangeven van de versie. Wordt alleen JavaScript aangegeven zonder versienummer, dan wordt het script door alle browsers geinterpreteerd waarbij fouten kunnen ontstaan bij niet-compatibele browsers. Voorbeeld van gebruik:

<script language="JavaScript"> function f1() {
// JavaScript-code voor oudere browsers.
...
}
</script>
<script language="JavaScript1.5"> function f1() {
// JavaScript-code voor nieuwere browsers.
...
}
</script>

De nieuwere browser leest de oude functie, maar overschrijft deze zodra hij de nieuwe (met dezelfde naam) tegenkomt.

Opdrachten in JavaScript

Terug naar de top

 

Javascript is een reeks van instructies welke door de browser worden uitgevoerd. Uitvoering vindt plaats van enkelvoudige instructies, als Javascript code of als Javascript blok.

De volgende instructie zorgt ervoor dat er "Hello Dolly"op de webpagina wordt geschreven:

document.write("Hello Dolly");

Het is normaal om aan het eind van een instructie een puntkomma te plaatsen. Het is optioneel maar wel een goede gewoonte. De browsers wordt verondersteld het reinde van een regel te interpreteren als het einde van een instructie. Het plaatsen van puntkomma's maakt het mogelijk om meerdere instructies op één regel achter elkaar te plaatsen.

Een Javascript code (of gewoon "Javascript") is een reeks van Javascript instructies. Elke instructie wordt door de browser uitgevoerd in de volgorde waarin zij geschreven zijn. Ze kunnen achter elkaar op één regel geschreven worden. Beter (overzichtelijker) is het als elke instructie op een aparte regel komt te staan. Voorbeeld:

<script type="text/javascript">
document.write("<h1>Dit is een koptekst</h1>");
document.write("<p>Dit is een paragraaf</p>");
document.write("<p>Dit is een andere paragraaf</p>");
</script>

Javascript kan gegroepeerd worden in blokken. Elk blok start met een linker accolade en eindigt met een rechteaccolade. Doel van een blok is een groep instructies als één geheel uit te voeren. Bij functies wordt dit veel gebruikt. Voorbeeld:

<script type="text/javascript">
{
document.write("<h1>Dit is een koptekst</h1>");
document.write("<p>Dit is een paragraaf</p>");
document.write("<p>Dit is een andere paragraaf</p>");
}
</script>

Niet uitvoeren van opdrachten.
Wil men opdrachten op een pagina (tijdelijk) niet uit laten voeren, dan kan dat door deze in een commentaarregel te plaatsen. Voorbeeld is een banner die men niet altijd gebruikt, maar bij niet-gebruik wel op de pagina wil laten staan. Wil men hem bvervolgens weer wel gebruiken, dan hoeft men alleen maar de commentaartekens weg te halen. Ook bij het testen van pagina's kan dit worden gebruikt. Zie voor de uitvoering verderop bij Javascript Commentaar.

Invoegen van JavaScript

Terug naar de top

 

De <SCRIPT> tags kunnen zowel in de `head' als in de `body' sectie van het HTML-document worden geplaatst. Sommige JavaScript-opdrachten kunnen als kenmerken worden ingevoegd in een HTML-code. Ook kan het in een apart document geplaatst worden. Tenslotte is het mogelijk scripts op diverse plaatsten tegelijk in te voeren (zowel in head als in body als in HTML-code).

Het plaatsen van de broncode direct in de header van het HTML-document is de meest gangbare methode;

<html>
<head>
<script type="text/javascript"> .... </script>
</head>

Plaatsen in de body is een tweede methode:

<html>
<head>
</head>
<body>
<script type="text/javascript"> .... </script>
</body>

In de praktijk zal blijken dat een aantal functies meer dan eens gebruikt worden. Met kopiëren en plakken kunnen deze naar de nieuwe pagina worden overgebracht. Om dubbel werk te voorkomen, wijzigingen eenvoudiger mogelijk te maken en het overzicht niet te verliezen, is het ook mogelijk deze functies op te slaan in een functiebestand / bibliotheek. In dit aparte tekstbestand, welke de extensie .js kent, wordt overigens niet de code <script> gebruikt. Vervolgens kan hiernaar in de SCRIPT-tag worden verwezen. Voorbeeld:

inhoud functiebestand: functies.js
function fnload()
{
alert("Goedendag!!")
}

aanroepen op html-pagina
<html>
<head>
<script language="JavaScript" src="/algemeen/functies.js">
// alternatief: <script src="/algemeen/functies.js">
....
</script>
</head>
<body onLoad="fnload();">
</body>
</html>

De ruimte tussen de SCRIPT-tags kan een JavaScript bevatten, (weergegeven door ....,)maar ook leeg blijven.

 

Elke wijze van plaatsen heeft zijn eigen voordelen. Als een script direct in het document geplaatst wordt (in het body-deel), dan wordt deze direct geladen en uitgevoerd, tenzij deze aan een uitvoeringscode (knop) gekoppeld is. Staat het in het head-deel of in een apart bestand, dan wordt deze pas uitgevoerd, als deze wordt aangeroepen.

Als een script meteen tijdens het laden van het HTML-bestand moet worden uitgevoerd en het heeft betrekking op een HTML-code, dan moet deze na het HTML-element geplaatst worden. Voorbeeld:

<script>
document.write("De achtergrondkleur is " + document.bgColor);
</script>

Deze moet na de inleidende <body>-tag geplaatst worden. Anders kan deze onjuist geinterpreteerd worden.
NB-1. Het woord 'document.write' is een standaard JavaScript command, gebruik makend van DOM-eigenschappen, om output naat een pagina te schrijven. Dit wordt nader behgandeld bij HTML-DOM
NB-2. JavaScript is hoofdletter gevoelig. Een functie genoemd "mijnfunctie" is niet gelijk aan "mijnFunctie".

Oudere browsers

Terug naar de top

 

Oudere browsers herkennen geen JavaScript. Om te voorkomen dat oudere browsers de JavaScript-code abusievelijk als tekst interpreteren wordt het script tussen html-commentaarhaken geplaatst (<!-- en -->). Veelal wordt daar op de aangegeven wijze een JavaScript commentaartekst aan toegevoegd.

<script>
<!--
//Verberg voor oudere browsers
Hier wordt de JavaScript-code geplaatst.
// Stop met verbergen
-->
</script>

De JavaScript-regels staan tussen de HTML-commentaar-tags. Hierdoor wordt de tekst niet afgebeeld in browsers die geen JavaScript herkennen.

NOSCRIPT
Een andere mogelijkheid is het gebruik van het element NOSCRIPT. De tekst die tussen deze elementen wordt geplaatst, wordt dan zichtbaar in browsers die geen JavaScript ondersteunen. Een html-document zou er dan als volgt uit kunnen zien:

<HTML>
<HEAD>
<TITLE>De basis</TITLE>
<SCRIPT language="JavaScript">
<!--
//Verberg voor oudere browsers
Hier wordt de JavaScript-code geplaatst.
// Stop met verbergen -->
</SCRIPT>
</HEAD>
<BODY>
<NOSCRIPT>
Als u deze pagina's wilt zien dan moet u
een andere browser gebruiken. U kunt deze
browser downloaden van ........
</NOSCRIPT>
Uw document.
</BODY>
</HTML>

NB. De NOSCRIPT-tag moet in het BODY-deel staan.

JavaScript commentaar

Terug naar de top

 

Ook binnen JavaScript is behoefte aan commentaar-tags. Binnen JavaScript wordt commentaar bestaande uit één regel aangegeven door de zin te laten beginnen met twee slashes.

javascript instructie
//één regelig commentaar.
javascript instructie

of

javascript instructie //één regelig commentaar direct achter de instructie.

Als er meer dan één regel commentaar nodig is dan kunnen deze tussen /* en */ geplaatst worden.

/* meerdere regels commentaar*/

Commentaarregels kunnen ook gebruikt worden om javascript in een pagina uit te schakelen. de ijmnstructie komt dan te staan in een commentaarregel. Voorbeeld:

/* Het hier geplaatste javascript wordt niet uitgevoerd. */

Scripts van anderen

Terug naar de top

 

Met JavaScript kan snel en eenvoudig geprogrammeerd worden. Echter, op internet zijn veel hulpmiddelen te vinden, die met een paar simpele muisklikken geavanceerde Javascripts produceren
Voorbeelden van veelgevraagde toepassingen: Menu's, Roll-overs (teksten / afbeeldingen die veranderen als er met de muis overheen gegaan wordt) en Banners. Op internet zijn daar vele voorbeelden van te vinden, die met kopiëren en kleine aanpassingen op een eigen site gebruikt kunnen worden. Vaak is het heel zinvol om op internet te kijkken of daar een bepaalde toepassing te vinden is. Probleem kan zijn, dat eventueel benodigde bibliotheken niet gevonden kunnen worden.

Invoering van bijzondere tekens

Terug naar de top

 

De backslash (\) wordt gebruikt om apostroffen, nieuwe regels, aanhalingstekens, en andere bijzondere tekens in een tekstregel te voegen.

Kijk naar de volgende JavaScript code:

var txt="Wij zijn de zogenaamde "Vikingen" van het noorden."
document.write(txt)

 

In JavaScript, wordt een tekstregel gestart en gestopt met een enkel of dubbel aanhalingsteken. Dit betekent dat bovenstaande regel afgekort wordt tot:

Wij zijn de zogenaamde

Om dit probleem, op te lossen moet je een backslash (\) plaatsen voor elk dubbel aanhalingsteken in "Vikingen". Dit maakt van elk aanhalingsteken een letter:

var txt="Wij zijn de zogenaamde \"Vikingen\" van het noorden."
document.write(txt)

JavasScript zal nu de juiste tekst(regel) laten zien:

Wij zijn de zogenaamde "Vikingen" van het noorden.

Hier een ander voorbeeld:

document.write ("Jij \& ik zijn aan het zingen!")

Het voorbeeld hierboven levert het volgende resultaat op:

Jij & ik zijn aan het zingen!

De tabel hieronder geeft een overzicht weer van de bijzondere tekensdie aan tekst kunnen worden toegevoegd met behulp van het backslash teken:

CodeWeergave
\' enkel aanhalingsteken
\" dubbel aanhalingsteken
\& ampersand
\\ backslash
\n nieuwe regel
\r enter (carriage return)
\t tab
\b backspace
\f form feed

Spaties

Terug naar de top

 

JavaScript negeert bij weergave extra spaties. Dit maakt het mogelijk bij het schrijven van de codes extra spaties aan het script toe te voegen waardoor het leesbaarder wordt. De volgende regels zijn qua uitwerking gelijk:

name="Helga"
name = "Helga"


Afbreken van een coderegel

Terug naar de top

 

Je kunt een coderegel afbreken binnen een tekstregel met een backslash. Het voorbeeld hieronder wordt op een juiste wijze weergegeven:

document.write("Hallo \
Wereld!")

Je kunt een coderegel echter ook op deze manier afbreken:

document.write \
("Hallo Wereld!")


Diverse regels

Terug naar de top

 

Opbouw
Voor de schematische opbouw van een script bestaan maar weinig basisregels. Elk script bestaat uit een rij afzonderlijke instructies die zeer eenvoudig of zeer ingewikkeld kunnen zijn. In het eenvoudigste geval gaat het om een variabele waaraan een waarde wordt toegekend:

getal=58

De toewijzing kan ook het gevolg van een rekenoperatie zijn:

resultaat=12345/67+89

In veel gevallen is het noodzakelijk de uitvoering van een afzonderlijke instructie van een voorwaarde te laten afhangen:

if(Waarde < 0)
Waarde = 0;

Deze instructie zorgt ervoor dat elke waarde beneden nul op nul gezet wordt.

Een script bestaat niet alleen uit een lijnrechte opeenvolging van instructies. Functies vatten een rij afzonderlijke opdrachten samen. JavaScript heeft veel ingebouwde functies, maar functies kunnen ook speciaal gedefinieerd worden.

alert("Let op! Dit is de laatste waarschuwing!");

Alert() is een ingebouwde scriptfunctie. Die toont een dialoogvenster met een OK-knop. Tussen aanhalingstekens staat de tekst die op de knop geplaatst wordt.

Instructieblok
Als er bijvoorbeeld meerdere instructies voor een if-vraag zouden moeten worden vastgelegd, moet gebruik gemaakt worden van een instructieblok. Een instructieblok begint en eindigt met een accolade {begin ... einde}. Daarnaast dient achter elke instructie een puntkomma(;) geplaatst te worden. Voorbeeld:

if(Waarde < 0)
{
Waarde = 0;
alert("Waarde kleiner dan nul!");
}


De accolades zijn hier voor een beter overzicht elk op een eigen regel geplaatst. Ze mogen ook op één regel geplaatst worden.

if(Waarde < 0) {Waarde = 0; alert("Waarde kleiner dan nul!"); }

Ook is het mogelijk commentaar in te bouwen:

if(Waarde < 0)
{
Waarde = 0;
/* Op nul zetten */
alert("Waarde kleiner dan nul!");
/* waarschuwing geven voor kleiner dan nul */
}

Gebruik lettertekens
JavaScript is hoofdlettergevoelig. Dit houdt allereerst in dat "woord" niet gelijk is aan "Woord". Ook houdt het in dat bij het gebruiken van JavaScript-instructies (als if ... else, en function) men alleen kleine letterrs mag gebruiken. Hoofdletters geven een foutmelding

Gereserveerde woorden

Terug naar de top

 

De woorden uit deze lijst mogen niet worden gebruikt als namen voor JavaScript variabelen, functie, methoden of objecten:

abstract
boolean
break
byte
case
catch
char
class
constcontinue
default
do
double
else
extends
false
final
finallyfloat
for
function
goto
if
implements
import
in
instance of intinterface
long
native
new
null
package
private
protected
publicreturn
short
static
super
switch
synchronized
this
throw
throwstransient
true
try
var
void
while
with

 

Entiteiten

Terug naar de top

 

Entiteiten (entities) zijn instructies in JavaScript, die binnen HTML-tags als attributen worden ingesloten. Een entiteit is een tekenreeks die een speciaal teken voorsteld (zoals &copy [©] voor het copyright-teken).

Weergave

&{instructie};

Entiteiten mogen alleen als attributen in HTML-tags worden gebruikt. Ze worden tijdens het laden van de HTML-pagina geïnterpreteerd en uitgevoerd.
Voorbeeld:

var color="#FFFFFF"
<body bgcolor="&{color};"

Terug naar de top