🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #6323

Re: JavascriptBeginster !

#6323
From: Joris Janssens
Date: Mon, 30 Dec 2002 16:57
92 lines
3862 bytes
"CiNdY_V" <CiNdY_Vastmans@hotmail.com> wrote in message
news:v5_P9.79877$Ti2.11181@afrodite.telenet-ops.be...
> Hoi newsgr.
> Heb volgende oefening in elkaar gestoken maar weet niet of  ik het goed
doe
> zo.
> Het werkt wel, maar mag het zo,of is er een betere oplossing?
> Had eerst het probleem dat jaar "geparst" moet worden zelf gevonden, na
veel
> ergernis.  ;-)
> Zie script:
>   var nm1 = "Piet";
>   var nm2 = "Els";
>   var trouwjaar = 1990;
>   var jaar;
>   jaar = window.prompt("Geef hier het jaar in!","");
>   var getal;
>   getal = parseInt(jaar,10);
>   var test = getal-trouwjaar;
>
>   switch(test)
>   {
>   case test = 12:document.write(nm1+' en '+nm2+', dit jaar 12 jaar
> getrouwd.');
>         break;
>   case test = 25:document.write(nm1+' en '+nm2+', dit jaar zilveren
> bruiloft.');
>         break;
>   case test = 50:document.write(nm1+' en '+nm2+', dit jaar gouden
> bruiloft.');
>        break;
>   case test = 60:document.write(nm1+' en '+nm2+', dit jaar diamanten
> bruiloft.');
>        break;
>   default:  document.write("<br>Proficiat !");
>      break;
>   }

Er is niks echt "mis" met dit script en ik kan zo direct geen varianten
bedenken die een echte verbetering zouden zijn.


2 kleine puntjes, maar geen fouten:

1. Het kan compacter geschreven worden:

var jaar = parseInt(window.prompt("Geef hier het jaar in!",""),10);

daarmee bespaar je ook op een variabele terwijl het programma toch nog
duidelijk/overzichtelijk blijft, maar da's ook wel een kwestie van
persoonlijk stijl en ervaring enzo...


2. in de praktijk ga je controleren of de gebruiker wel echt een getal heeft
ingevoerd, omdat anders het programma volledig in de mist zou kunnen
lopen...

Als de gebruiker iets typt waarvan geen integer gemaakt kan worden, dan
geeft de functie parseInt een NaN (Not a Number) terug. Om daarop te testen
bestaat de functie isNaN() die true wordt indien de variabele een NaN is.

in dit geval bijvoorbeeld:

...
if (isNaN(jaar)) {
  window.alert("ongeldige invoer");
 }
 else {
   test=jaar-trouwjaar;
   ...
 }

happy scripting :)


PS. Door dit bericht ook in be.comp.internet.design te posten doe je aan
multiposting wat tegen de gangbare regels is. Het is beter je te beperken
tot 1 nieuwsgroep.

be.comp.programming lijkt me de meest geschikte zolang het over de syntax
van Javascript gaat.

zie:
http://pandorafaq.webhop.net/faq3.html#CROSSPOST
voor info over multiposten/crossposten


--
Joris "flotspe" Janssens
http://www.xhtml.be/inferno/
http://pandorafaq.webhop.net/
ja, ik weet dat mijn sig ook niet volgens de regels is :)
Technical Details
Message-ID: <ZV_P9.79993$Ti2.11237@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!kibo.news.demon.net!demon!diablo.netcom.net.uk!netcom.net.uk!193.190.198.17.MISMATCH!syros.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <55_P9.79876$Ti2.11225@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,3dbf7da2d3a9cfcd
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-12-30 08:58:00 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!kibo.news.demon.net!demon!diablo.netcom.net.uk!netcom.net.uk!193.190.198.17.MISMATCH!syros.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: "Joris Janssens" <flotspe@pandora.be>
Newsgroups: be.comp.programming
References: <55_P9.79876$Ti2.11225@afrodite.telenet-ops.be>
Subject: Re: JavascriptBeginster !
Lines: 94
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Message-ID: <ZV_P9.79993$Ti2.11237@afrodite.telenet-ops.be>
Date: Mon, 30 Dec 2002 16:57:29 GMT
NNTP-Posting-Host: 81.82.148.31
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1041267449 81.82.148.31 (Mon, 30 Dec 2002 17:57:29 MET)
NNTP-Posting-Date: Mon, 30 Dec 2002 17:57:29 MET
Organization: Telenet Internet