Het gelijkheidsteken = heeft in Javascript een heel andere betekenis dan in de wiskundelessen.
Deze operator gebruik je in Javascript voor het toekennen van een waarde aan een variabele:
var a = 6; var b = 10; var c = a + b;
Je kan deze operator ook combineren met wiskundige operatoren:
var a = 6; var a += 3; var b = 10; b *= a;
Eerst wordt aan a de waarde 6 toegekend, daarna hogen we de waarde van a met 3 op. Het statement a += 3 kan je eigenlijk voluit schrijven als a = a + 3 : we verhogen a met drie.
We stoppen de waarde 10 in variabele b. Daarna gaan we het product van b met a in de variabele b stoppen: b *= a is voluit: b = b * a.
var a = 6;
var b = 7;
if (a==b) document.write ('a en b zijn gelijk')
else document.write ('a en b zijn niet gelijk')
Om een ongelijkheid te testen gebruik je de operator != waarbij ! de not-operator is.
Het identiek zijn van twee variabelen of waarden betekent dat niet alleen hun waarde maar ook hun type gelijk is.
De operator om het identiek zijn van twee variabelen te testen is het trippele gelijkheidsteken === . De negatie is !== .
'42' is niet identiek aan 42 daar '42' een String is en 42 een number.
Het resultaat van een dergelijke test is steeds true of false.
var a = 6;
var b = 7;
if (a<b) document.write ('a is kleiner dan b');
else if (a>b) document.write ('a is groter dan b');
else document.write ('a en b zijn gelijk');
Deze operatoren kan je ook toepassen op string-variabelen, je kan nu bvb. testen of een woord alfabetisch voor een ander woord komt.
In toepassingen is het dikwijls nodig om na te gaan of bepaalde variabelen getallen bevatten.
De functie isNaN retourneert true als het argument Not a Number is, geen numerieke waarde. De functie isNaN retourneert false als het argument een numerieke waarde bevat.
document.write(isNaN("Een tekenreeks") +"<BR>");
document.write(isNaN("348") +"<BR>");
document.write(isNaN(348) +"<BR>");
document.write(isNaN(0/0) +"<BR>");
Met de functie parseInt kan je cijfers van een tekenreeks afkappen. Begint de tekenreeks niet met cijfers dan retourneert parseInt NaN: Not a Number.
Deze functie wordt vaak gebruikt om kommagetallen af te kappen tot gehele getallen.
document.write("<BR>" + parseInt("50"));
document.write("<BR>" + parseInt("50.12345"));
document.write("<BR>" + parseInt("32.00000000"));
document.write("<BR>" + parseInt("71.348 92.218 95.405"));
document.write("<BR>" + parseInt(" 37 varkens"));
document.write("<BR>" + parseInt("Cursussen van het jaar 2005"));
var jaar = 120;
if ( parseInt(jaar / 4) == (jaar / 4 ) )
{
document.write("<BR>jaar is deelbaar door 4");
}
document.write("<BR>" + parseFloat("50"));
document.write("<BR>" + parseFloat("50.12345"));
document.write("<BR>" + parseFloat("32.00000000"));
document.write("<BR>" + parseFloat("71.348 92.218 95.405"));
document.write("<BR>" + parseFloat(" 37 varkens"));
document.write("<BR>" + parseFloat("Cursussen van het jaar 2005"));
Een voorwaardelijke structuur kan met de operatoren ? en : op een compacte manier geschreven worden.
| Betekenis | Operator | Voorbeeld |
|---|---|---|
| Optellen | + | som = a + b; |
| Aftrekken | - | verschil = a - b; |
| Tegengestelde | - | tegengestelde = -b; |
| Vermenigvuldigen | * | product = a * b; |
| Delen | / | quotiënt = a / b; |
| Modulo | % | rest = a % b; |
| Verhogen met 1 | ++ | a++ of ++a (a = a + 1) |
| Verlagen met 1 | -- | a-- of --a (a = a - 1) |
Opgepast met de ++ en -- operatoren, er is een subtiel, doch belangrijk verschil wanneer deze operatoren als prefix of suffix worden gebruikt:
var aantal=1;
document.write(aantal++);
document.write('<br>');
document.write(aantal);
document.write('<hr>');
aantal=1;
document.write(++aantal);
document.write('<br>');
document.write(aantal);
In de eerste toepassing wordt de variabele aantal ingesteld op 1. De waarde van aantal++ wordt op het scherm gezet. Aantal wordt hier met 1 opgehoogd pas nadat de instructie werd uitgevoerd!
In de tweede toepassing wordt ++ als prefix gebruikt en wordt de waarde van aantal reeds opgehoogd vooraleer die op het document wordt geplaatst.
In de Booleaanse logica kennen we twee waarden: waar en onwaar. In Javascript worden hiervoor de waarden true en false gebruikt.
We hebben deze Booleaanse waarden reeds gebruikt in voorwaardelijke structuren en lussen.
Met Booleaanse operatoren kan je meerdere voorwaarden ineens testen.
var getal1 = 8;
var getal2 = 24;
if ( (getal1 < 10) && ( getal2 < 40) )
{
document.write("Beide voorwaarden zijn vervuld");
}
De binnenste koppels haken zijn hier optioneel, maar verhogen de leesbaarheid. De voorwaarden leveren telkens true waardoor de 'en'-geschakelde expressie true levert en de statements binnen de if-structuur worden uitgevoerd.
Als voorwaarde kan ook een getal dienen: alle numerieke waarde behalve 0 hebben een logische waarde true, 0 heeft de waarde false.
var getal1 = 12;
var getal2 = 24;
if ( (getal1 < 10) ¦¦ ( getal2 < 40) )
{
document.write("Minstens 1 voorwaarde is vervuld");
}
De binnenste koppels haken zijn hier optioneel, maar verhogen de leesbaarheid. Wanneer 1 van de voorwaarden een logische true oplevert wordt de totale expressie true bij een 'of'-schakeling.
Als voorwaarde kan ook een getal dienen: alle numerieke waarde behalve 0 hebben een logische waarde true, 0 heeft de waarde false.
Je kan in Javascript ook met de bitwaarde van een variabele werken. Deze bitwaarde van een variabele is de waarde van de variabele zoals die is opgeslagen in het interne geheugen van je computer : in het binaire talstelsel.
Werkwijze:
| 14 binair: | 1 | 1 | 1 | 0 |
| 7 binair | 0 | 1 | 1 | 1 |
| logische 'en' berekening - decimaal resultaat: 6 | 0 | 1 | 1 | 0 |
Werkwijze:
| 14 binair: | 1 | 1 | 1 | 0 |
| 7 binair | 0 | 1 | 1 | 1 |
| logische 'of' berekening - decimaal resultaat: 15 | 1 | 1 | 1 | 1 |
Werkwijze:
| 14 binair: | 1 | 1 | 1 | 0 |
| 7 binair | 0 | 1 | 1 | 1 |
| logische 'exor' berekening - decimaal resultaat: 9 | 1 | 0 | 0 | 1 |
De exor of exclusieve or levert true als een van de deelwaarden true is, doch false als alle voorwaarden true zijn.
Concrete toepassingen:
<h3>Initialiseren van een variabele</h3>
<script type="text/javascript">
<!--
var a = 25;
document.write("<BR>" +a );
document.write("<BR>" +(a ^ a) );
// -->
</script>
<h3>Twee waarden omwisselen zonder hulpvariabele</h3>
<script type="text/javascript">
<!--
var a = 25;
var b = 10;
document.write("<BR>a = " +a );
document.write("<BR>b = " +b );
a = a ^ b;
b = a ^ b;
a = a ^ b;
document.write("<hr><BR>a = " +a );
document.write("<BR>b = " +b );
| Meer tutorials: |
| leer ook: | html | | xhtml | | css | | asp | | asp.net | | c# | | ado.net | | linq | | ajax | | java | | javascript |