Avatar billede per1291 Nybegynder
31. juli 2005 - 15:02 Der er 8 kommentarer og
1 løsning

Hvornår bruge "return true" eller "return false"

I mange HTML-koder foretages et funktionskald sammen med en tildeling af sandhedsværdi. Eksempel:
<body onload="doSomething(); return false;">
Jeg forstår ikke altid, hvorfor denne retur-værdi er nødvendig.
Måske kan en af jer forklare det?
- Hilsen Per
Avatar billede softspot Forsker
31. juli 2005 - 15:07 #1
Det er for at forhindre eventet i at udføre hvad det ellers skulle have udført efter dit script er blevet kørt.
Avatar billede softspot Forsker
31. juli 2005 - 15:09 #2
Har du eksempelvis noget kode til et link

<a href="blablah.htm" onclick="return confirm('vil du det?')">naviger</a>

og brugeren svarer nej til spørgsmålet, så vil navigationen blive "aflyst".
Avatar billede per1291 Nybegynder
31. juli 2005 - 15:13 #3
Og i samme dur: Hvad bruger man "void" til?
Avatar billede softspot Forsker
31. juli 2005 - 15:19 #4
Det er formegentlig bare til at indikere, at man ikke bruger resultatet af den funktion som kaldes returnerer.

void betyder i flere programmeringssprog blot at funktionen ikke har nogen returværdi.
Avatar billede per1291 Nybegynder
31. juli 2005 - 15:24 #5
Okay softspot, dvs. følgende onclick kan tilføjes uden at det ændrer ved programmets opførsel:
<a href="blablah.htm" onclick="return true;">naviger</a>
... mens derimod følgende onclick vil annullere linket:
<a href="blablah.htm" onclick="return false;">naviger</a>
Korrekt?
Avatar billede softspot Forsker
31. juli 2005 - 15:29 #6
Det er min forståelse af det, ja.
Avatar billede per1291 Nybegynder
31. juli 2005 - 16:12 #7
Tak. Vi kommer nok ikke videre. "void" er åbenbart overflødigt - jeg mener osse jeg har set vejledninger som fortæller at det er intetsigende.
Læg et svar, softspot. (Det er en ORDRE...) - Hilsen Per
Avatar billede softspot Forsker
31. juli 2005 - 16:12 #8
Javel! :)
Avatar billede olebole Juniormester
31. juli 2005 - 22:40 #9
<ole>

nøhhh ... void-operatoren er ingenlunde overflødig eller intetsigende - men det er der til gengæld mange 'vejledninger', der er  ;o)

Prøv at skrive:
  java script:document.body.style.backgroundColor='red'
- i adresselinien i din browser, mens du f.eks. står på denne side. Tryk derefter 'Return'.

Skriv derefter:
  java script:void(document.body.style.backgroundColor='red')
- og gør det samme. Pokkers til forskel!  :)

void-operatoren forhindrer et JS-udtryk fra at returnere noget, når dette evalueres - men det behøver skam ikke at være overflødigt eller intetsigende.

/mvh
</bole>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester