私は自分のページに単純なファイルを追加しました。このファイルには、およびプロトタイプ.js
に追加された、非常にありふれた一般的なタスクの種類の関数が含まれています。Object
Array
試行錯誤の結果、関数を に追加するとObject.prototype
、その名前や機能に関係なく、jQuery で Javascript エラーが発生することがわかりました。
犯人?
Object.prototype.foo = function() {
/*do nothing and break jQuery*/
};
jquery-1.3.2.js
attr:function { } 宣言で の1056 行目に発生するエラー:
/*Object doesn't support this property or method*/
name = name.replace(/-([a-z])/ig, function(all, letter) {
return letter.toUpperCase();
});
どうやら G.replace は定義されていません。
プロトタイピングで頭を悩ませていないことがあるのは明らかですが、それが何であるかを理解するのに惨めに失敗しています。
明確にするために、私は回避策を探しているのではなく、それを処理しました...私が探しているのは、なぜ?. Object.prototype
このコードを壊す関数を追加するのはなぜですか?