0
我使用下面的代碼,它運行良好,但是當我嘗試在同一時間使用JQuery時,然後出現下面的錯誤,我正在讀取一些帖子和我認爲的問題是,沒有可能擴大Object.prototype沒有檢查hasOwnProperty(),但我不知道如何解決這個問題,有人可以幫我一把嗎?Uncaught TypeError:對象沒有方法'exec'
代碼:
Object.prototype.clone = function() {
var i, newObj = (this instanceof Array) ? [] : {};
for (i in this) {
if (i === 'clone') {
continue;
}
if (this[i] && typeof this[i] === "object") {
newObj[i] = this[i].clone();
} else {
newObj[i] = this[i];
}
}
return newObj;
};
錯誤:
Uncaught TypeError: Object function() {
var i, newObj = (this instanceof Array) ? [] : {};
for (i in this) {
if (i === 'clone') {
continue;
}
if (this[i] && typeof this[i] === "object") {
newObj[i] = this[i].clone();
} else {
newObj[i] = this[i];
}
}
return newObj;
} has no method 'exec'
上的jsfiddle你有錯誤也? – Dvir
我建議不要將方法放在Object.prototype上。取而代之的是將它作爲一個方法放在Object中,以便它不被繼承,並將要克隆的對象作爲第一個參數傳遞。 'Object.clone(foo)' – user2736012
@Dvir:jsFiddle與什麼有關? – user2736012