peterS.: Objektname eines Objekts?

Beitrag lesen

gruss Karl,

...  ich schreibe eine Art GUI-Framework. Es soll Elemente wie
Forms, Edits, Labels, Scrollbars etc. enthalten.

Beispiel in JavaScript:

form1 = new TForm();
...

Dieser Code soll ein (mit der Maus verschiebbares) Dialogfeld
mit einem Button erzeugen. Das ist natürlich nur ein sehr
einfaches Beispiel. ... Die Implementierung der Methode könnte
so einfach sein:

function setCaption(fText)
{
    el = document.getElementById(this.OBJEKTNAME);
    el.style.value = fText;
}

... OBJEKTNAME steht stellvertretend für ein Feld des Objekts -
was es aber scheinbar nicht gibt.

so wie es aussieht, kapselst Du die Logik eines oder einer gruppe
   von DOM-knoten in einem JavaScript-objekt. die initialisierung des
   von Dir beispielhaft angegebenen objekts vom typ "tform" erledigt
   Deine konstruktorfunktion "TForm". Du musst nur sicherstellen, dass
   genau dort, oder meinetwegen auch in einer initialisierungsmethode
   das "tform"-objekt mindestens einen der betroffenen DOM-knoten
   als referenz an sich binden kann - z.b.:

~~~javascript var TForm = function (nodeObj) {

this.domNode = nodeObj;
   //your code;
   };

  
   die beispielhafte methode "setCaption" liesse sich dann  
   so umsetzen:  
  
   ~~~javascript
TForm.prototype.setCaption = function (fText) {  
  
     this.nodeObj.style.value = fText;  
   };

Ich habe es jetzt anders gelöst.

und wie?

In diesem Fall wäre es eben sehr praktisch, wenn die IDs von
INPUT-Elementen oder DIVs die Namen der JavaScript-Objekte,
die sie repräsentieren, tragen würden.

referenzen auf die von meinem JavaScript-objekt zu beeinflussenden
   dom-knoten sind in meinen augen naheliegender, da ich diese bei der
   objektinitialisierung sowiso "kennen" muss.

by(t)e by(t)e - peterS. - pseliger@gmx.net

--
"Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive." - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]