javascript

philips

Guru
Osebje foruma
Administrator
17. avg 2007
9.878
698
113
Ja prva ti vrne isto število, če je le-to nenegativno; drugače pa vrne število pomnoženo z -1. Torej deluje kot absolutna vrednost.

Pri drugi znotraj funkcije nastaviš vrednost tiste spremenljivke (ki si jo malo pred tem definiral), nato pa jo takoj zatem izpišeš. Tisto prirejanje za tem pa potem nima več nobene veze (saj si jo prej izpisal kot pa to naredil).

Tretja pa vrne kvadrat števila, če je le-to pozitivno, drugače vrne nič. Ker ti podaš (x - 3), pri čemer x = 1, pomeni da funkciji podaš število -2. Kar pomeni da ti funkcija vrne nič.
 

woowek

Tajkun 08
7. sep 2007
693
1
18
Koda:
 # Definirano imamo funkcijo

   function vsota(a, b)
   {
      return a + b;
   }

Kako lahko z uporabo te funkcije seštejemo vrednosti spremenljivk a, b in c ter vsoto zapišemo v spremenljivko x?

   1. x = vsota(a, vsota(b, c));
   2. x = vsota(a) + vsota(b) + vsota(c);
   3. x = vsota(a, b, c);     
   4. x = vsota(a + b + c);

predvidevam da je praviln 3.) saj bo return a+b+c
-----------------------------------
# Definirano imamo funkcijo

   function stej()
   {
      var stevec;
      stevec++;
   }

Podana je še koda:

   var stevec = 0;
   stej();
   document.write(stevec);

Kakšno vrednost bo v oknu brskalnika izpisala funkcija write()?

   1. 0
   2. 1
   3. undefined
   4. NaN

zakaj ni tu odgovor 1 saj smo povecali stevec++
------------------------------------------
   function spremeni(j)
   {
      j *= 10;
   }

Podana je še koda:

   var j = 10;
   spremeni(j);
   document.write(j);

Kakšno vrednost bo v oknu brskalnika izpisala funkcija write()?

   1. 10
   2. 100
   3. undefined
   4. NaN

in pa zakaj je tu 10 in NE 100???

Hvala za trud.
 

doto

Fizikalc
25. jul 2007
3.175
0
36
Kaj ko bi ti malo browser zalaufal in malo probal? Z Firebug-om lahko še debugiraš zraven.
 

woowek

Tajkun 08
7. sep 2007
693
1
18
sej drugo in tretje vprašanje sem z browserjem probal, vendar mi ni jasno zakaj tako, saj sem napisal tam.
 

jurek1973

Guru
3. sep 2007
4.168
1.142
113
Citat:
Uporabnik woowek pravi:
Koda:
 # Definirano imamo funkcijo

   function vsota(a, b)
   {
      return a + b;
   }

Kako lahko z uporabo te funkcije seštejemo vrednosti spremenljivk a, b in c ter vsoto zapišemo v spremenljivko x?

   1. x = vsota(a, vsota(b, c));
   2. x = vsota(a) + vsota(b) + vsota(c);
   3. x = vsota(a, b, c);     
   4. x = vsota(a + b + c);

predvidevam da je praviln 3.) saj bo return a+b+c
Funkcija vsota sprejme 2 parametra, vrne neko vrednost (njuno vsoto).
Pravilen je primer 1!
V drugem in četetem primeru v funkcijo podaš samo po en parameter,
v tretjem pa 3 parametre.
 

doto

Fizikalc
25. jul 2007
3.175
0
36
Citat:
# Definirano imamo funkcijo

function stej()
{
var stevec;
stevec++;
}

Podana je še koda:

var stevec = 0;
stej();
document.write(stevec);

Kakšno vrednost bo v oknu brskalnika izpisala funkcija write()?

1. 0
2. 1
3. undefined
4. NaN

zakaj ni tu odgovor 1 saj smo povecali stevec++

Spremenljivka stevec je dvakrat definirana, enkrat globalno in potem še v fukciji lokalno. V tem primeru ima lokalna spremenljivka prednost. Se pravi ti povečaš lokalno spremenljivko, ko se pa vrne iz funkcije pa zopet velja globalna spremenljivka, ki je v tem primeru še vedno 0.

Citat:


------------------------------------------
function spremeni(j)
{
j *= 10;
}

Podana je še koda:

var j = 10;
spremeni(j);
document.write(j);

Kakšno vrednost bo v oknu brskalnika izpisala funkcija write()?

1. 10
2. 100
3. undefined
4. NaN

in pa zakaj je tu 10 in NE 100???

Tudi tu je j definirana še enkrat lokalno (kot argument funkcije) in ko pride ven ima globalna spremenljivka še vedno staro vrednost.