gruss Felix, hallo Struppi,
/*
ich entwickle solche funktionalitaet
mittlerweile lieber so: */
if (typeof String.prototype.trim != "function") {
String.prototype.trim = (function () {
var regXTrim = (/^\s+|\s+$/g);
return (function () {
return this.replace(regXTrim, "");
});
})();
}/*
anstatt so: */
if (typeof String.prototype.trim != "function") {
String.prototype.trim = (function () {
return this.replace((/^\s+|\s+$/g), "");
});
}/*
fuer die zweite loesung wird der regulaere ausdruck bei jedem
aufruf der [trim]-methode neu initialisiert(/kompiliert) und
nach abarbeitung der methode wieder verworfen.
die zweite loesung legt diesen konstanten regulaeren ausdruck
nur einmal im funktionsstack der aeusseren erzeugerfunktion an
sobald diese ausgefuehrt wird und gibt dabei auch die [trim]-
methode zurueck, welche immer zugriff auf den unveraenderlichen
ausdruck hat, da sie zusammen mit diesem im selben sichtbarkeits-
(speicher)bereich erzeugt wurde.
in der praxis wird man den geschwindigkeitsvorteil der ersten
gegenueber der zweiten loesung aber wohl kaum wahrnehmen koennen.
*/
so long - 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:]
»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:]