(!x(getal)) niet snap

Status
Niet open voor verdere reacties.

justmehaxe

Gebruiker
Lid geworden
12 aug 2001
Berichten
605
Heyz,

html>
<head>

<script language="JavaScript">

function x(a)
{
var resultaat = false
if (a<4)
return false
else
resultaat = true
return resultaat
}
</script>

<body>

<script language="JavaScript">
var getal = 3;
if (!x(getal))
document.write(getal)
else
document.write('Te groot')
</script>
</body>
</html>

ik begrijp niet zo goed wat deze code nou precies doet, voornamelijk het gedeelde dat is dik gedrukt.

Greetz,
 
het if statement verwacht een boolean (true of false waarde) als argument. Is deze true dan wordt het stukje code tussen de accolades erna uitgevoerd.

In dit geval staat er dit:

if (!x(getal))

de functie x wordt dus aangeroepen, met als argument de variabele "getal". de functie x voert een controle uit op het getal en returned true of false aan de hand daarvan. Die true of false wordt dus gebruikt in het if statement. Maar er staat nog een ! voor, dat is de not operator (die keert als het ware de boolean erna om), het stukje tussen de accolades wordt dus alleen uitgevoerd als de functie x false returned.

-Edit, het is duidelijker als de functie x een andere naam krijgt, bijvoorbeeld isGroterDanDrie:

if (!isGroterDanDrie(getal))
met andere woorden
if NOT "X groter dan drie"
 
Laatst bewerkt:
dus als ik het goed begrijp draait hij in de function X(a) alles om door het ! teken.......
 
Laatst bewerkt:
het resultaat (return waarde) van de functie x(a) wordt inderdaad ongedraaid door het uitroepteken
 
function vraagomtafel()
{
var tafel = prompt('Welke tafel wil ie?', -1)

while (tafel != -1)
{
if (!isNaN(tafel)) schrijftafel(1,tafel,5)
tafel = prompt('Welke tafel wil ie?', -1)
}
}

dus bij deze functie "If (!isNaN(tafel))" staat die ! voor........gelijk is aan..........of niet?

greetz,
 
Geplaatst door justmehaxe
dus bij deze functie "If (!isNaN(tafel))" staat die ! voor........gelijk is aan..........of niet?

greetz,

de functie isNan geeft true terug als de parameter (tafel) geen geldig nummer is. De ! (NOT) operator draait dit om.

Dus:

isNan(123) = false (want 123 is een geldig nummer)
isNan("bla") = true (want "bla" is "not a number")

!isNan(123) = true
!isNan("bla") = false

Zie ook bijv:
http://www.quirksmode.org/js/boolean.html
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan