Prototyping-Objekt in Javascript bricht jQuery?

Ich habe eine einfache hinzugefügt.js Eine Datei auf meiner Seite, die einige ziemlich alltägliche Funktionen für allgemeine Aufgaben enthält, die der Datei hinzugefügt wurdenObject undArray Prototypen.

Durch Versuch und Irrtum habe ich herausgefunden, dass das Hinzufügen von Funktionen zuObject.prototype, egal wie es heißt oder was es tut, verursacht Javascript-Fehler in jQuery:

Der Täter?

Object.prototype.foo = function() {
    /*do nothing and break jQuery*/
};

Den Fehler bekomme ich von Zeile 1056jquery-1.3.2.jsin der attr: function {} Deklaration:

/*Object doesn't support this property or method*/
name = name.replace(/-([a-z])/ig, function(all, letter) {
            return letter.toUpperCase();
        });

Anscheinend ist G.replace undefiniert.

Es ist zwar offensichtlich, dass ich mich nicht mit Prototyping beschäftige, aber ich weiß kläglich nicht, was es ist.

Um klar zu sein, ich suche keine Problemumgehung, ich habe das erledigt ... was ich suche, ist eine Antwort aufWarum?. Warum fügt man eine Funktion zuObject.prototype dieses Stück Code brechen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage