[英]Javascript object prototype error
我需要對象的新方法。 而我正在嘗試創建它:
Object.prototype.getByPath = function (path, other) {
for (var i=0, obj=this, path = path.split('.'), len=path.length; i<len; i++) {
obj = obj[path[i]];
}
return (typeof obj === "undefined" || obj == "") ? other : obj;
}
但是這段代碼返回一個錯誤(與另一個js文件沖突!):
未捕獲的TypeError:對象函數(路徑,其他){
另一個js文件從這一行開始:
(function(){function d(a,b){
try {
for (var c in b)
Object.defineProperty(a.prototype, c, {value:b[c],enumerable:!1})
} catch(d) {
a.prototype = b
}
}());
我該如何解決這個錯誤?
與另一個js文件沖突!
是的,因為它正在向所有對象添加新方法,而是嘗試為所有客戶端javascript對象創建自己的基礎對象,
var yourBaseObj={
getByPath :function (path, other) {
for (var i=0, obj=this, path = path.split('.'), len=path.length; i<len; i++) {
obj = obj[path[i]];
}
return (typeof obj === "undefined" || obj == "") ? other : obj;
}
}
然后你把它用於其他物體,
function YourNewObject(){
}
YourNewObject.prototype=yourBaseObj
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.