OOP, aktuellen Objectnamen auslesen ?
Chris
- javascript
0 Rouven0 Chris
0 JürgenB0 Chris
0 Jeena Paradies2 Jeena Paradies0 Chris0 Daniel Thoma
Hallo Forumler,
ich bin mit JS am bastelln und Frage mich wie ich den Namen des aktuell genutzen Objektes auslesen kann.
function A(){
this.B = function(){
C = function() {
Hie möchte ich den Obj Namen des Objectes der Klasse A haben
A.var = "WERT";
}
}
}
var A = new A();
Ich möchte also der Function C VAriablen des Objectes A verändern, nur möchte ich natürlich das Obj auch mal anders nennen wie A :-)
Ist das auslesen des Obj Names überhaupt möglich ? Oder kann da irgendwie anders an die Ebene in der sich Klasse A befindet kommen ?
Gruß & danke
Chris
Hi,
entweder verstehe ich dich falsch oder du versuchst was unmögliches:
var A1 = new A();
var A2 = A1;
-> Wie "heißt" denn jetzt das Objekt? Fakt ist, A1 und A2 sind keine Namen sondern nur Referenzen auf dieses Objekt, es hat als solches keinen Namen. Derjenige, der es als A1 eingeführt hat, führt es auch weiterhin unter dem Namen A1, jemand anders kann das selbe Objekt aber unter völlig anderem Namen ansprechen.
MfG
Rouven
Hi Rouven,
das 1. heisst A, in diesem befindet sich eine Methode die ein weiteres Obj erstellt und auf eine Methode von dieser zugreift und genau in der Methode vom 2. Obj benötige ich den Namen vom 1. Obj.
Krumm, oder ?
:-) Gruß Chris
Hallo Chris,
mir hat das vor ca. 2 Jahren jemand zu erklären versucht. Es sah wirklich sehr kompliziert aus mit mehr als 30 Befehlen und ich habe es auch nicht wirklich verstanden. Leider finde ich den alten Thread nicht so schnell. Ich habe es damals aber auf die "einfache" Art gelöst:
function A(name) {
...
xyz=name;
...
}
var x=new A("x");
var y=new A("y");
...
Gruß, Jürgen
Hi Jürgen,
das habe ich mir als Notlösung auch ausgemahlt :-) Da werde ich drauf zurückgreifen wenn nichts anderes geht ...
Gruß
Chris
Hallo,
function A(){
this.B = function(){
C = function() {
Hie möchte ich den Obj Namen des Objectes der Klasse A haben
A.var = "WERT";
}}
}
var A = new A();
Ich weiß nich so recht ob es das ist was du suchst, aber suchst du vielleicht so etwas?
function A () {
var foo = "foo string";
this.B = function () {
C = function () {
foo = "bar string";
}
}
}
Grüße
Jeena Paradies
Hallo,
function A () {
var foo = "foo string";
this.B = function () {
C = function () {
foo = "bar string";
}
}
}
Hm oder noch anders, moment:
~~~javascript
function A () {
var foo = "foo string";
var parentObject = this;
this.B = function () {
var C = function () {
parentObject.foo = "bar string";
}
}
}
Grüße
Jeena Paradies
Hi Jeena Paradies,
var parentObject = this;
Geniale Idee :-) Das passt Perfekt.
Danke & Grüße
Chris
Hallo Jeena,
Du meinst wohl:
function A () {
this.foo = "foo string";
var parentObject = this;
this.B = function () {
var C = function () {
parentObject.foo = "bar string";
}
}
}
Lokale Variablen gehören nicht zum Objekt und sind somit auch nicht über this zu erreichen.
Grüße
Daniel