Felix Riesterer: String-Objekten per prototype trim()-Methode geben

Beitrag lesen

Liebe JavaScript-Spezialisten,

man lernt immer wieder dazu, und so wollte ich mir heute aus Bequemlichkeit eine trim()-Funktion schneidern, wie ich sie von PHP her kenne. Da es bequemer ist, den Punkt-Operator zu benutzen (myString = myString.trim();) anstatt eine Methode eines fremden Objekts und Werteübergabe zu bemühen (myString = meineSuperTools.stringTrimmer(myString);, dachte ich an den Gebrauch der Prototypisierung.

Das ist mein erstes Mal, daher dieses Posting.

Ist es bei Strings normal, dass ich im Firefox mit einer for-in-Schleife keine der String-Methoden ausgeben lassen kann, die einem String-Objekt von Hause aus mitgegeben werden? Ich habe nämlich die "Werteübergabe" mit "this" gelöst, weiß jetzt aber nicht, ob das immer beim Prototypisieren klappt. Mein Code sieht so aus:

// Nur prototypisieren, falls Methode nicht verfügbar:  
if (typeof(new String().trim()) != "function") {  
    String.prototype.trim = function () {  
        var s = this.toString();  
        s = s.replace(/^ +/, "");  
        s = s.replace(/ +$/, "");  
        return s;  
    }  
}

Die, die Ihr mehr Erfahrung damit habt, ist obiges Beispiel aus Eurer Sicht unproblematisch, oder könnte es schwerwiegende Probleme damit geben, wenn man das Script mit anderen Scripten oder gar "Bibliotheken" (oder gar "Frameworks") benutzt?

Liebe Grüße aus Ellwangen,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)