Manchmal möchte ich Verhalten JS String wieIst es möglich, ein JavaScript-Objekt zu erweitern und die Erweiterungen nach dem Löschen zu löschen?
String.prototype.camelize = function() {
return this.replace (/(?:^|[-])(\w)/g, function (, c) {
return c ? c.toUpperCase() : '';
});
};
hinzufügen Jedoch es allgemein wird vereinbart, dass primitive Art zu modifizieren eine schreckliche Idee.
Gibt es irgendwelche Muster, denen ich folgen kann, um Funktionen vorübergehend einem Typ zuzuweisen und nach Gebrauch zu entfernen? Oder etwas ähnliches wie Rubin 'Klasse < < Obj', die den Prototyp eines Objekts nur ändern?
EDIT: Der Punkt, dies zu tun in der Lage seine Syntax zu verwenden wie
name = s.camelize();
oder
if (s.hyphenize() Länge <. 8);
Also bitte nicht mit statischen Funktion Ansatz stören.
Auch diese Frage ist eigentlich mehr darauf konzentriert, wie man js Objekte manipulieren sollte, um mehr mit weniger Nebenwirkungen zu tun.
Was ist mit nur einer normalen Funktion falsch, ohne etwas zu ändern? – Onheiron
Warum müssen Sie dies tun, wenn es nur vorübergehend ist? Oder, warum funktioniert 'camelize() {...}' nicht? – Leo