[ prginfo @ 01.06.2009. 11:10 ] @
Moze se reci da sam pocetnik, sto se tice JS, ali programiram u drugim programskim jezicima.

Imam sledeci problem (verovatno je vezan za sintaksu, ili logiku JS koju ne poznajem dovoljno).

Napravim npr. 2 funkcije
Code:

function vrednost(suma)
{
    if (suma < 100) vrednost_val = 900
    else if (suma < 200 )  vrednost_val = 1800
    else     vrednost_val = 3000
  }
    
    return vrednost_val
}

function dodatak(dodatak)
{

   if (dodatak == 0) dodatak_val == vrednost_val*0
   else if (dodatak == 1) dodatak_val == vrednost_val*0.5
   else dodatak_val == vrednost_val*0.7
 }
   return dodatak_val


Moje pitanje je kako da izvedem da mi funkcija dodatak uzima vrednost vrednost_val i mnozi sa odredjenim koeficijentom.

U okviru forme imam edit box u kji se upisuje suma i list/menu u kome postoji 3 izbora za dodatak.

Unapred se zahvaljujem

[Ovu poruku je menjao Aleksandar Ružičić dana 02.06.2009. u 00:12 GMT+1]
[ Nikola Poša @ 01.06.2009. 12:01 ] @
Pa ne možeš direktno da pokupiš tu promenljivu iz funkcije "vrednost", i onda da je koristiš u funkciji "dodatak"... Naravno, funkciju "vrednost" možeš da pozoveš u funkciji "dodatak", a ona vraća upravo tu vrednost_val.

Ono što možeš da uradiš je da tu promenljivu vrednost_val definišeš kao globalnu (iznad te dve f-je), npr. var vrednost_val = 0;, i onda možeš da je koristiš u obema funkcijama, s tim da će se pamtiti svaka promena vrednosti te promenljive...
[ prginfo @ 01.06.2009. 12:47 ] @
Kako da pozovem funkciju u drugoj funkciji.

ako moze neki primer na kodu koji sam poslao u prvoj poruci.

Hvala.

[ Nikola Poša @ 01.06.2009. 13:11 ] @
Pa ti reče da si imao iskustva u drugim programskim jezicima... :) Npr. ovako, imaš dve funkcije: foo i bar, i onda:
Code:
function foo(x, y) {
   return x * y;
}

function bar()
{
   x = 2;
   y = 3;

   z = foo(x, y); //poziv funkcije foo()
[ Aleksandar Ružičić @ 01.06.2009. 23:16 ] @
samo mali dodatak:
Code:

function bar()
{
   var x = 2;
   var y = 3;

   var z = foo(x, y); //poziv funkcije foo()



bez var, promenljive x, y i z (u bar funkciji) ce biti definisane kao globalne (isto kao da je napisano window.x ...) sto u novom JavaScriptu u "use strict"; rezimu rada nece moci (bacace Exception)...