我爲我的頁面添加了一個簡單的.js
文件,其中有一些漂亮的常見任務類型的功能添加到Object
和Array
原型。JavaScript中的原型對象打破jQuery?
經過反覆試驗,我已經想通了,添加任何功能Object.prototype
,無論它的名字還是它做什麼導致Javascript錯誤在jQuery的:
的罪魁禍首?
Object.prototype.foo = function() {
/*do nothing and break jQuery*/
};
我得到的jquery-1.3.2.js
線1056,在ATTR錯誤:函數{}聲明:
/*Object doesn't support this property or method*/
name = name.replace(/-([a-z])/ig, function(all, letter) {
return letter.toUpperCase();
});
顯然G.replace是不確定的。
雖然很明顯,我只是沒有用原型來包裝我的頭,但我很失敗地弄清楚它是什麼。
要清楚,我不是在尋找解決方法,我已經處理了...我在尋找的是的答案爲什麼?。爲什麼向Object.prototype
添加函數會破壞這段代碼?
如果切換到完整的jquery文件(非縮小),您可能會得到更有意義的錯誤。這樣你就可以更清楚地看到哪些代碼有問題。 – 2009-12-01 16:53:27
這是一個已知的bug:http://dev.jquery.com/ticket/2721 – 2009-12-01 17:27:19
@ CrescentFresh的鏈接已過時。更新:https://bugs.jquery.com/ticket/2721 – WoodrowShigeru 2017-08-19 10:41:02