Re: Tabelleninhalt "ordnungsgemäß entsorgen"?



Thomas 'PointedEars' Lahn schrieb:

Nein, das Schöne daran, eine Objektreferenz zu übergeben ist ja gerade, dass
die Reihenfolge der Parameter nur noch eine untergeordnete Rolle spielt.

reicht dann auch

function Cell(parent, oProperties)
{

}

new Cell(r.o, {
id: "cHCell1",
classname: "alertccell_lng",
text: "No record found.",
width: 0,
colspan: 6
});

Sehe ich das richtig das "oProperties" ein willkürlich gewählter Name (Synonym) wie z.B. function foo(e){....e.clientX...} ist? Also ein vorerst leeres Objekt welches "on the fly" während des Funktionsaufrufes anhand der vorher (nicht in der Anzahl bekannten/ beschränkten) Parameter erstellt wird? Das würde mir ja völlig neue Möglichkeiten eröffnen ;-) und wäre die Eierlegende Wollmilchsau schlechthin.

Dadurch wird der Konstruktoraufruf nicht nur besser verständlich, sondern
wenn Du einen Parameterwert nicht übergeben willst, lässt Du die betreffende
Initialisierung im Objekt-Literal einfach weg. So lassen sich optionale
Parameter an *beliebiger* Stelle und daher ohne Ersatzwert realisieren.

Solange Du eine kompatible Implementation garantieren kannst, so wie in
diesem Fall[1], kannst Du das problemlos verwenden.

[1] <http://PointedEars.de/es-matrix>
Wollte schon anmerken das Dein mouseover auf der (o.g.) Seite ein bischen hinterher hinkt aber das ist ja eine riesen Sammlung. Fein gemacht. :-)


Oder kommt da "Prototype" ins Spiel

Falls Du Prototype.js meinst: Bitte nicht.
ok ;-)

Ich könnte mir vorstellen, dass es doch nicht-trivial messbare
Performanceverbesserungen gibt (aber sicher nicht durch das Pretty Printing,
jene Kosmetik dient einzig dem Software-Entwickler). Wenn zum Beispiel ein
Element dem Dokumentbaum hinzugefügt wird und dann erst die Eigenschaften
des es repräsentierenden Objekts geändert werden, was in einer schrittweisen
Anpassung der grafischen Darstellung des Elements resultiert, so sollte die
Variante, welche die Eigenschaften des Elementobjekts erst anpasst (ohne
dass das sofort in einer Änderung der grafischen Darstellung resultiert) und
dann das Element dem Dokumentbaum hinzufügt, geringfügig schneller sein.
Dieser Unterschied würde sich dann bei vielen gleichen Operationen dieser
Art durchaus bemerkbar machen.
.....allerdings bin ich bei der Umsetzung beim <select> Element damit nicht durchgekommen. Folgendes funktioniert:

// Create the COUNTRY Select Object
function Countryselector(parent){
var _Span = document.createElement("span");
_Span.className = "SEL";
var _Select = document.createElement("select");

var _Option = document.createElement("option");
_Select.appendChild(_Option);
_Option.text = "DE";
_Option.id = "DE";
_Option.selected = true;

_Option = document.createElement("option");
_Select.appendChild(_Option);
_Option.text = "AT";
_Option.id = "AT";

_Option = document.createElement("option");
_Select.appendChild(_Option);
_Option.text = "CH";
_Option.id = "CH";

_Span.appendChild(_Select);
parent.appendChild(_Span);
this.obj = _Select;
}

setze ich allerdings das _Select.appendChild(_Option); _unter_ die Zuweisung von id und text weist mir this.obj.options.length zwar 3 aus allerdings sind id und text nicht zugewiesen. IE?

Der Span fällt mir gereade ein kann raus - den hatte ich um die CSS Widerborstigkeit des <select> Elements auszutrixen. Hatte daheim mit IE7 geklappt aber @work mit IE6 gings gar nicht.


Alle Wrapper geben nun "obj" zurück

Das stimmt so aber nicht, denn Konstruktoren haben keinen Rückgabewert :)
Korrekt wäre die Aussage, dass alle Wrapper(-Objekte) die obj-Eigenschaft
bereitstellen. Udiags.

Menno - bei Dir muß man wirklich aufpassen was man sagt/ schreibt. ;-) Aber ist die bereitgestellte Eigenschaft nicht auch nur eine Referenz auf this.obj? Aber halt ja - keinesfalls ein Rückgabewert.

Schon viel hypscher :)

Mhhhh - leider guckt von den Nutzern keiner in den Source rein.;-)
Ich habe heute einer kleinen Nutzergruppe die Freigabe zum Alpha Test erteilt. Jetzt gehen die Sonderwünsche und "qualifizierten" Bugreports los :-)
Symbolisch - "da kam ein Fenster, das hab ich weggeklickt, dann ist es abgestürzt, achso, Du wolltest ja immer einen Screenshoot haben, hab ich vergessen, da stand aber auch nix besonderes, was ich vorher gemacht habe? - na nix besonderes....."

Gruß,
Thomas
.



Relevant Pages