Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Zapomnialem nazwy funkcji
stefan33
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 4
Dołączył: 22.07.2012

Ostrzeżenie: (0%)
-----


Witam z góry bardzo dziekuje za pomoc bo zapomnialem nazwy funkcji a nie moge nic trafic w google zeby znalezc. Funkcja ta wypisywala bezposrednio tekst i dopiero wtedy zwrocona wartosc jest przetwarzana np. dzieki niej takie cos moze zadzialac:
  1. var ostrzez="alert";
  2. funkcja("document."+ostrzez+"('to jest alert')");

wyleciala mi z glowy a dawno nie potrzebowalem
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


W takim razie podaj konkretny przypadek, ponieważ w życiu nie spotkałem się jeszcze z koniecznością użycia evala. A jego użycie jest chyba pod każdym względem złe.
Go to the top of the page
+Quote Post
stefan33
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 4
Dołączył: 22.07.2012

Ostrzeżenie: (0%)
-----


Cytat(Crozin @ 30.07.2012, 17:18:41 ) *
W takim razie podaj konkretny przypadek, ponieważ w życiu nie spotkałem się jeszcze z koniecznością użycia evala. A jego użycie jest chyba pod każdym względem złe.


tutaj jest kod w którym użyłem eval'a:
  1. for(var j=0;j<topkaElements.length;j++)
  2. {
  3. eval("topkaElements[j].onmouseover=function(){createLabel(topkaElements["+j+"],podswietlacz);}");
  4. topkaElements[j].onmouseout=function (){podswietlacz.style.display="none";}
  5. }

musialem evalować to j, bo gdy tego nie robilem to pozostawalo dalej zmienna i na onmouseoverze rzecz jasna źle dzialalo
Go to the top of the page
+Quote Post
fleshgrinder
post
Post #4





Grupa: Zarejestrowani
Postów: 77
Pomógł: 10
Dołączył: 4.11.2007

Ostrzeżenie: (0%)
-----


Cytat(stefan33 @ 31.07.2012, 16:37:47 ) *
tutaj jest kod w którym użyłem eval'a:
  1. for(var j=0;j<topkaElements.length;j++)
  2. {
  3. eval("topkaElements[j].onmouseover=function(){createLabel(topkaElements["+j+"],podswietlacz);}");
  4. topkaElements[j].onmouseout=function (){podswietlacz.style.display="none";}
  5. }

musialem evalować to j, bo gdy tego nie robilem to pozostawalo dalej zmienna i na onmouseoverze rzecz jasna źle dzialalo


mogłeś, i to działa, ale nie musiałeś. jest lepszy sposób (IMG:style_emoticons/default/smile.gif) poczytaj o domknięciach (closures)

  1. for(var j=0;j<topkaElements.length;j++)
  2. {
  3. (function(j) {
  4. topkaElements[j].onmouseover = function() { createLabel(topkaElements[j],podswietlacz); };
  5. topkaElements[j].onmouseout = function () { podswietlacz.style.display="none"; };
  6. }(j));
  7. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 23:08