簡體   English   中英

Javascript對象原型錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM