Referenznummer eines Objekts

greggy80

Mitglied
Hallo zusammen,

ich bin eigentlich ein versierter Java-Programmier und komme mit JavaScript gerade etwas ins Würgen... ich habe ein allgemeines Objekt erzeugt... etwa so:

Code:
var obj = new Object()
Nun wird dieses Objekt ja irgendwie mal eine eindeutige, identifizierbare ID bekommen haben. Irgendeine Nummer... wie es ja bei Java auch ist.

Die Frage: kann man diese Nummer irgendwie auslesen? Oder kennt jemand eine Alternative, wie ich jedem neu erzeugtem beliebigen Objekt eine eindeutige Nummer zuweisen kann?

Ich finde nichts vernünftiges im Netz :-(
 
Moin,

nö, solche IDs gibts in JS nicht. Wenn du mal den Handle zu dem Objekt verloren hast, und es nicht über einen von dir vergebenen Namen ansprechbar ist, dann ist es ausser jeder Reichweite.

Einen eindeutigen Identifikator wirst du zu 100% auch nicht hinbekommen, über einen Timestamp und ein selbstgewähltes Prefix/Suffix sollte sich da aber etwas Brauchbares konstruieren lassen.
 
Ok, aber zwei Objekte miteinander vergleichen geht doch?
Also sowas hier:

Code:
var obj1 = new Object();
var obj2 = new Object();

//Compare by reference

if (obj1 == obj2)
  alert(true); //Das hier tritt nicht ein

obj2 = obj1;

if (obj1 == obj2)
  alert(true); //Das hier tritt ein
Wenn das nicht klappt, hab ich ein Problem. Wenn das klappt, dann frage ich mich, warum man sich die Referenzadresse nicht auch ausgeben lassen kann. Das ist ja der totale Humbug... :p

Vielen Dank schon mal für die Antwort!
 
Jo, Objekte miteinander vergleichen, das geht.

Zu dem anderen: meinst du damit, dass ein Objekt von sich aus nicht weiss, wie es heisst/unter welchem (Variablen)namen es erzeugt wurde?
 
Ja, doch, das funktioniert ja IMHO in JavaScript. Ist zwar ein schrecklicher Programmierstil, wenn man überhaupt Bedarf hat, den Namen herauszufinden. Aber das geht.

Es ging mir nur darum, zu jedem erzeugten Datenbereich, ähnlich wie in C einen Pointer, die Referenzadresse zu bekommen. Aber ich habe inzwischen auch einen Lösungsansatz, der ohne diese Referenznummern auskommt :-) also halb so schlimm.

Danke nochmals!
 

Neue Beiträge

Zurück