Niels: Eigene Objekte definieren

Hallo, durch was kann man this ersetzen wenn man eine vollständige Angabe machen möchte?
Ist es bgcolor.R oder so?

Gruss, Niels.

  
  
<html><head><title>Test</title>  
<script type="text/javascript">  
function Farbe (R, G, B) {  
  this.R = R;  
  this.G = G;  
  this.B = B;  
  this.hex = "#";  
}  
  
function HintergrundWechseln () {  
  var Hintergrund = new Farbe("E0", "FF", "E0");  
  document.bgColor = Hintergrund.hex + Hintergrund.R + Hintergrund.G + Hintergrund.B;  
}  
</script>  
</head><body bgcolor="#FFFFFF">  
<h1>Das eigene Farb-Objekt mit JavaScript</h1>  
<a href="javascript:HintergrundWechseln()">Hintergrundfarbe wechseln</a>  
</body>  
</html>  
  
  

  1. [latex]Mae  govannen![/latex]

    Hallo, durch was kann man this ersetzen wenn man eine vollständige Angabe machen möchte?

    
    > <script type="text/javascript">  
    > function Farbe (R, G, B) {  
    >   this.R = R;  
    >   this.G = G;  
    >   this.B = B;  
    >   this.hex = "#";  
    > }  
      
    
    > function HintergrundWechseln () {  
    >   var Hintergrund = new Farbe("E0", "FF", "E0");  
    >   document.bgColor = Hintergrund.hex + Hintergrund.R + Hintergrund.G + Hintergrund.B;  
    > }  
    > </script>
    
    

    Man kann »this« bei _dieser_ Vorgehensweise nicht ersetzen, ansonsten ist es nicht möglich, mehrere Instanzen zu erzeugen, ohne daß die Werte überschrieben werden. »this« bezieht sich innerhalb des Konstruktors »Farbe« jeweisl auf das gerade mit new Farbe() erzeugte Objekt.

    Es ist allerdings möglich, ein anderes Konzept zu nutzen (bspw. via Object.create)

    Die Haupt-Frage ist allerdings: Warum willst du hier »this« ersetzen? Ich sehe darin keinen Sinn.

    ♫ FIIIIISCH!! ♪

    Ric.. äh, Kai

    --
    var jQuery = $(hit);
    Unsere Identität entnehmen Sie bitte dem beigefügten Auszug aus den Personenstandsbüchern. Gegen die Assimilierung in unser Kollektiv ist nach dem ABGB (§666, Abs. 3/IV) kein Rechtsmittel zulässig. Wir bitten um Ihr Verständnis.
    SelfHTML-Forum-Stylesheet
  2. Hallo, durch was kann man this ersetzen wenn man eine vollständige Angabe machen möchte?

    Meinst Du new Farbe("E0FFE0")?
    Dann muss man die Definition ändern.

    function Farbe (RGB) {
      this.RGB = RGB;
      this.hex = "#";
    }

    und dann
    document.bgColor = Hintergrund.hex + Hintergrund.RGB;

    Ist es bgcolor.R oder so?

    bgColor ist kein von Dir definiertes Objekt. Also gibt es keine Eigenschaft R.

    Cheers,
    Baba

  3. ach so, hab verstanden, danke Dir Kai.