return???

Her kan du få hjælp og stille spørgsmål til JavaScript!
Besvar
skills jokes
Nørd
Nørd
Indlæg: 125
Tilmeldt: 12. sep 2013, 17:03

return???

Indlæg af skills jokes » 27. okt 2013, 19:55

hej,
jeg ser en engelsk javascript guide for begyndere og han forklare noget med "return" og han lavede en function som så sådan ud:

Kode: Vælg alt

function tooeasey(a,b){
	var c = a+b;
	return c;
}
document.write(tooeasey(3,4));
og det får browseren til at sige "9" fordi 3 + 4 = 4 self.
men det jeg ikke forstår er hvorfor man ikke bare skriver inden i function: document.write(c);
det ville da være helt det samme som return??
så hvorfor bruger/hvorfor er return overhoved lavet??

tak. :D

Brugeravatar
Daniel
Admin
Admin
Indlæg: 625
Tilmeldt: 14. jun 2011, 09:27
Geografisk sted: Danmark, Fyn, Nørre Aaby
Kontakt:

Re: return???

Indlæg af Daniel » 27. okt 2013, 20:30

Når du laver en funktion, så er formålet at man gerne skal kunne genbruge funktion i flere situationer. :)
Hvis vi nu siger at man skulle bruge funktionen til andet end at udskrive resultatet, så ville det være upraktisk at funktionen kun kan udskrive resultatet.
Hvad hvis man ville bruge resultatet i en anden funktion?

Så det er simpelthen lavet for at man kan bruge funktionen overalt, uanset om man vil udskrive resultatet, eller bruge resultatet i en anden sammenhæng. :)
I en funktion som den du viser der kunne man selvfølgelig godt bruge document.write() direkte inde i funktionen, men der er nogle generelle regler som de fleste programmører følger, og en af dem er netop dette med return inde i funktioner, det samme gælder for PHP funktioner. :)

Brugeravatar
scootergrisen
Moderator
Moderator
Indlæg: 709
Tilmeldt: 21. jun 2012, 23:40
Kontakt:

Re: return???

Indlæg af scootergrisen » 28. okt 2013, 11:02

Lad os sige du et andet sted i din kode havde brug for at få tallet men uden at udskrive det så kunne du skrive :

Kode: Vælg alt

nyttal = tooeasey(3,4);
Så kunne det være du have brug for at gøre noget forskelligt alt efter hvor stort tallet var.

Kode: Vælg alt

if (nyttal <= saldo) {
   tekst = 'Den har du råd til';
} else {
   tekst = 'Du har ikke point nok';
}
Også er document.write noget ged så det bedre at undgå at bruge det.
Du kan lave et element med en id også skrive til dens innerHTML :

Kode: Vælg alt

<span id="noget"></span>
...

Kode: Vælg alt

noget = document.getElementById('noget');
noget.innerHTML = 'hejsa';

cristian
Moderator
Moderator
Indlæg: 882
Tilmeldt: 26. sep 2011, 21:31
Kontakt:

Re: return???

Indlæg af cristian » 28. okt 2013, 16:03

Dit spørgsmål
men det jeg ikke forstår er hvorfor man ikke bare skriver inden i function: document.write(c);
det ville da være helt det samme som return??
så hvorfor bruger/hvorfor er return overhoved lavet??
Er et interessant spørgsmål, og er noget jeg gerne ville forklare dig.
Men så må du komme ind på min teamspeak server 173.199.64.246:9222

Så skal jeg vise dig hvorfor man bruger en funktion / metode.
Men det er lidt for kringlet til at skrive og forstå uden det bliver for langt efter min mening.

Besvar