Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nowy obiekt z dynamicznej nazwy: var name = 'myClass'; obj = new name();
Forum PHP.pl > Forum > Po stronie przeglądarki
patong
Niby prosta rzecz a nie ogarniam ;/

W phpie mogę zrobić:

  1. $var = 'myClass';
  2.  
  3. $object = new $var();


i zostanie utworzony obiekt klasy myClass, to jak to samo zrobić w javascripcie?

P.S. Próbowałem już bardzo wielu rzeczy, więc jak ktoś nie wie to nie piszcie "a spróbuj tego". Albo ktoś to robił i wie albo nie.

Z góry dzięki, znacznie mi to ułatwi robotę.
Sephirus
[JAVASCRIPT] pobierz, plaintext
  1.  
  2. window.myClass = function () {
  3. // ...
  4. }
  5.  
  6. var name = 'myClass';
  7.  
  8. var object = new window[name]();
  9.  
[JAVASCRIPT] pobierz, plaintext
patong
Dzięki stary,
czyli funkcja która będzie obiektem musi być składnikiem jakiegoś istniejącego już obiektu? W tym wypadku window?
Sephirus
Tak najprościej zrobić smile.gif

Bo w JS coś takiego jak:

[JAVASCRIPT] pobierz, plaintext
  1. obiekt['nazwa'];
  2.  
  3. // to to samo co
  4.  
  5. obiekt.nazwa;
[JAVASCRIPT] pobierz, plaintext


a window jest dostępne globalnie wink.gif
Crozin
Cytat
czyli funkcja która będzie obiektem
W JS właściwie nie istnieje coś takiego jak funkcja - zawsze masz do czynienia z obiektem.
Cytat
musi być składnikiem jakiegoś istniejącego już obiektu
Jeżeli funkcja jest zadeklarowana przy pomocy "składni globalnej", tj.:
[JAVASCRIPT] pobierz, plaintext
  1. function myFunc() {
  2. // ...
  3. }
[JAVASCRIPT] pobierz, plaintext
Jest ona wtedy przypisywana jako właściwość obiektu window.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.