16. september 2007 - 16:36Der er
20 kommentarer og 1 løsning
Funktionsforståelsesproblem
Hvad er fejlen/fejlene i dette: <html> <head> <title>Funktioner</title> <script LANGUAGE = "JavaScript"> var a = 10; var b = 20; var c = 30; var d = 40; function Gennemsnit (a, b, c, d){ result = (a + b + c + d) /4; return result; alert(result);
Der kommer vel intet ud af det ? Hvor kaldes din funktion Gennemsnit, og din alert kommer vel heller ikke op, fordi funktionen return'er inden den kommer til den.
<script type="text/javascript"> var a = 10; var b = 20; var c = 30; var d = 40; function Gennemsnit (a, b, c, d){ result = (a + b + c + d) /4; return result; }
var mitSnit = Gennemsnit(); alert(mitSnit); </script>
<script type="text/javascript"> var a = 10; var b = 20; var c = 30; var d = 40; function Gennemsnit (p1,p2,p3,p4){ var result = (p1+p2+p3+p4) /4; return result; }
var mitSnit = Gennemsnit(a,b,c,d); alert(mitSnit); </script>
olebole: jeg får NaN når jeg prøver din kode. erikjacobsen + nielle jeres koder giver 25. erikjacobsen + nielle: hvorfor bruger I ikke variablerne a-d? Hvad betyder p1, p2, mv.? Men det jeg ikke kan forstå er, hvorfor det ikke er var result der skal kaldes. så vidt jeg kan se bliver den jo sat lig med gennemsnittet?
Glem bare de tidligere spørgsmål: Jeg prøvede følgende: <html> <head> <title>Funktioner</title> <script type="text/javascript"> var a = 10; var b = 20; var c = 30; var d = 40; function Gennemsnit (a,b,c,d){ var result = (a+b+c+d) /4; return result; }
var result = Gennemsnit(a,b,c,d); alert(result); </script> </head> <body>
</body> </html> Og det vil altså sige, at jeg skal anføre Gennemsnit(a,b,c,d); to gange i koden. Det virker umiddelbart lidt tungt, men sådan er det altså.
"erikjacobsen + nielle: hvorfor bruger I ikke variablerne a-d?" Det gør jeg også i kaldet af funktionen. Men de navne parametrene har, skal ikke nødvendigvis være de samme som de værdier, der bruges til kaldet. Derfor kaldte jeg dem noget andet - navnet er selvfølgelig ligegyldigt, men "p1" = "parameter 1" ;)
Synes godt om
Slettet bruger
16. september 2007 - 18:57#10
Du gennemfoerer ikke Gennemsnit to gange.
Foerst deninerer du en funktion ved navn Gennemsnit. Denne funktion tager fire variable, som lokalt indeni denne funktion er refereret ved navnene a,b,c,d.
Foerst naar du har defineret funktionen kan du anvende den. Koerslen af
Gennemsnit(a,b,c,d) giver dig saa gennemsnittet af de predefinerede variable a,b,c,d, disse a,b,c,d er ikke de samme som der er anvendt inden i definitionen.
Du behøver slet ikke at definere gennemsnit() hvis du ikke ønsker det:
<script type="text/javascript"> var a = 10; var b = 20; var c = 30; var d = 40;
alert((a+b+c+d) /4); </script>
Men hvis du skal bruge den mere en en gang er det nu en udemærket ide at definere den alligevel - forresten også hvis den kun skal bruges een gang ialt; det gør din kode lettere at læse.
-- og udnyttelse af javascripts helt håbløse typeløshed:
function mean(){ var args = mean.arguments; for(sum=0,i=0,im=args.length;im>i;i++) sum += args[i]; return sum/args.length; }
alert(mean(2,6,4,9)); alert(mean(3,6));
-- og fejl på: alert(mean()) !-)
Synes godt om
Ny brugerNybegynder
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.