Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Tworzenie obiektów
Forum PHP.pl > Forum > Przedszkole
vived7
Witam!
Mam pytanko. Załóżmy że w jednej zmiennej np. a mam nazwę obiektu który chcę stworzyć. Moje pytanie brzmi, jak stworzyć ten obiekt by miała nazwę taką jaką wybrałem
  1.  
  2. var a = "myNewClassName";
  3. //tu chcę jakoś zdefiniować obiekt
  4. questionmark.gif a.some = 2;
  5.  
Damonsson
[JAVASCRIPT] pobierz, plaintext
  1. var a = "myNewClassName";
  2. window.a.some = 2;
[JAVASCRIPT] pobierz, plaintext


edit:
Albo tak, skoro to obiekt, o ile nic nie pomyliłem:
[JAVASCRIPT] pobierz, plaintext
  1. var a = "myNewClassName";
  2. eval(a + ".some" = '2'");
[JAVASCRIPT] pobierz, plaintext
PrinceOfPersia
metoda z window bardziej poprawna, tylko że machnąłeś się Damonsson nie tak
Cytat
var a = "myNewClassName";
window.a.some = 2;

(nie zadziała w ten sposócool.gif
tylko z nawiasami kwadratowymi:
Cytat
var a = "myNewClassName";
window[a] = {}; // inicjalizacja obiektu o nazwie tej, która jest podana w a ("myNewClassName")
window[a].some = 2;

alert(myNewClassName.some);

tak powinno zadziałać: http://jsfiddle.net/C66Nb/

właściwości obiektu window działają jak zmienne globalne, jeżeli o to ci chodzi vived7 (jeżeli chcesz zrobić zmiennę globalną o danej nazwie).
jeśli to ma być zmienna lokalna, to najlepiej stworzyć obiekt nadrzędny, który będzie działał jak taka tablica asocjacyjna czy przestrzeń nazw, a potem dodawać do niego obiekty.
Kod
var nameSpace = {};  
var objectName = "myNewClassName";
nameSpace[objectName] = {}; // utworzenie obiektu nameSpace.myNewClassName
alert(nameSpace.myNewClassName);

http://jsfiddle.net/C66Nb/1/
Damonsson
Tak coś czułem, że mogłem namieszać, a nie miałem czasu sprawdzić tongue.gif

Ale już wyjaśnione rzeczowo co i jak, więc koledze wyżej należy się bardziej pomógł niż mi.
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.