ďťż
Podstrony
|
telcocafeMam taki oto problem który dosyć mnie zaskoczyłDeklaruje sobie zmienną globalną w pliku *.js oraz mam dwie funkcje. funkcja1() i funkcja2(). Z funkcji1 wywoluje funkcje2() ktora to zmienia wartosc zmiennej globalnej. I co sie okazalo ze funkcja1() nie widzi przypisanej wartosci do zmiennej globalnej przez funkcje2. var zmienna; function funkcja1() { .... var wynik = funkcja2(); if (zmienna==true) alert('Dobrze'); <---------------------- tutaj nie rozpoznaje wartosci true dla zmiennej globalnej else alert('Zle'); ... } function funkcja2() { .... zmienna=true; return wynik } Ale co najlepsze jesli dodam w funkcja1() alert("jakis tekst"); przed wywolaniem if'a to rozpoznaje prawidłowo jako true. .... alert("Jakis tekst"); if (zmienna==true) alert('Dobrze'); ... Ktoś wie co jest grane ? Bo ja zwątpiłem po czymś takim. Mi się wydaje, że Twój błąd polega na tym, że w drugiej funkcji przypisujesz wartość "true" do zmiennej lokalnej, a nie do tej globalnej :-/ // global zmienna; zmienna = true; Nie powinno być przypadkiem jakoś tak? Użytkownik Capellini edytował ten post 31 lipiec 2007, 09:54 Mi się wydaje, że Twój błąd polega na tym, że w drugiej funkcji przypisujesz wartość "true" do zmiennej lokalnej, a nie do tej globalnej :-/ // global zmienna; zmienna = true; Nie powinno być przypadkiem jakoś tak? Hmm nom niestety jak dopisze global w funkcji2() to w ogole sie skrypt nie wywoluje. Raczej to nie jest problem bo jak dam wczesniej tego alerta to rozpoznaje dobrze wartosc przypisana, czyli przypisuje do zmiennej globalnej a nie lokalnej. Ale dzięki za zainteresowanie :) Przypisz zmiennej jakąś wartość początkową by rozpoznało typ zmiennejvar zmienna = false;@Capellini: To nie PHP by było global :P Polecam lekturę. To nie PHP by było global tongue.gif Wiem, wiem, ale właśnie dlatego napisałem "jakoś tak", a nie po prostu "tak" bo chciałem tylko pokazać, o co mi chodzi. |
|||
Sitedesign by AltusUmbrae. |