ChrisB: New Image() mit src "on the fly" erstellen?

Beitrag lesen

Hi,

ich möchte ein Array mit Images "on the fly" erstellen.
Kann mir jemand sagen, wie ich dafür folgenden Code abgekürzt erstellen kann?

var a = new Array();
var img = new Image();
img.src = "bild.jpg";
a.push(img);


>   
> usw.  
> Irgendwie so dachte ich, aber wie muss die Syntax richtig sein?:  
>   
> `[{new Image(); src = "bilder/cleofide/bild1.jpg"}, ...]`{:.language-javascript}  
  
new Image() liefert dir ein neues Image-Objekt - wenn du diesen Ausdruck noch mal klammerst, kannst du auch auf Eigenschaften dieses Image-Objektes zugreifen:  
~~~javascript
(new Image()).src = "xyz"; // bzw. auch so -  
(new Image).src = "xyz";   // die runden Klammern hinter dem Konstruktur-Aufruf  
                           // können entfallen, wenn keine Parameter übergeben werden

Allerdings liefert dir dieser Zuweisungsausdruck jetzt den Inhalt der Zuweisung zurück, also hier das "xyz" - und damit hast du die Möglichkeit verspielt, dein Image-Objekt ins Array einzufügen.

Wenn du unbedingt meinst, an obigem Code etwas abkürzen zu müssen - dann schreibe eine Funktion, die den Inhalt des src-Attributes als Parameter übergeben bekommt; die ein neues Image erzeugt, den src-Wert zuweist, und dann das Image zurückgibt.

MfG ChrisB

--
Light travels faster than sound - that's why most people appear bright until you hear them speak.